日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Git学习笔记:标签管理以及GItHub

發(fā)布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git学习笔记:标签管理以及GItHub 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在補習python的時候主要參考的是廖雪峰的教程Python教程,在學習完后準備完成期末作業(yè)時,遇到了一個技術難題,需要初步掌握git,因此開始了git的學習。
本教程參考廖雪峰的Git教程
Git簡介可以參看:Git簡介
Git學習筆記:版本回滾 Git:版本回滾
Git學習筆記:修改Git學習筆記:修改
Git學習筆記: 遠程倉庫Git學習筆記:遠程倉庫
Git學習筆記:分支管理1 Git學習筆記:分支管理1
Git學習筆記:分支管理2Git學習筆記:分支管理2
Git學習筆記:分支管理3Git學習筆記:分支管理3

目錄

  • 前言
  • 目錄
  • 標簽管理
  • 創(chuàng)建標簽
    • 小結
  • 操作標簽
    • 小結
  • 使用GitHub
    • 小結

標簽管理

發(fā)布一個版本時,我們通常先在版本庫中打一個標簽(tag),這樣,就唯一確定了打標簽時刻的版本。將來無論什么時候,取某個標簽的版本,就是把那個打標簽的時刻的歷史版本取出來。所以,標簽也是版本庫的一個快照。
Git的標簽雖然是版本庫的快照,但其實它就是指向某個commit的指針(跟分支很像對不對?但是分支可以移動,標簽不能移動),所以,創(chuàng)建和刪除標簽都是瞬間完成的。
Git有commit,為什么還要引入tag?
“請把上周一的那個版本打包發(fā)布,commit號是6a5819e…”
“一串亂七八糟的數字不好找!”
如果換一個辦法:
“請把上周一的那個版本打包發(fā)布,版本號是v1.2”
“好的,按照tag v1.2查找commit就行!”
所以,tag就是一個讓人容易記住的有意義的名字,它跟某個commit綁在一起。

創(chuàng)建標簽

在Git中打標簽非常簡單,首先,切換到需要打標簽的分支上:

$ git branch * devmaster $ git checkout master Switched to branch 'master'

然后,敲命令git tag 就可以打一個新標簽:

$ git tag v1.0

可以用命令git tag查看所有標簽:

$ git tag v1.0

默認標簽是打在最新提交的commit上的。有時候,如果忘了打標簽,比如,現在已經是周五了,但應該在周一打的標簽沒有打,怎么辦?

方法是找到歷史提交的commit id,然后打上就可以了:

$ git log --pretty=oneline --abbrev-commit 1c912f4 (HEAD -> dev2, tag: v1.0) conflict fixed c03f3da AND simple 2f95c81 a test 4cc972a branch test 047ca83 like master real c91cc58 like master cd104fe remove test.txt 320840f add test.txt e42d7e7 git track changes fcb9ba4 a minitest for understanding the work 276b2df append GPL 18323a9 add distributed ebcf5a3 wrote a readme file

比如說要對like master這次提交打標簽,它對應的commit id是c91cc58,敲入命令:

$ git tag v0.9 f52c633

再用命令git tag查看標簽:

$ git tag v0.9 v1.0

注意,標簽不是按時間順序列出,而是按字母排序的??梢杂?strong>git show 查看標簽信息:

$ git show v0.9 commit c91cc583b53d69780eb857181bf3d6a03e078b23 (tag: v0.9) Author: challengef <lifuquan16@nudt.edu.cn> Date: Thu Jun 28 14:25:28 2018 +0800like masterdiff --git a/test.txt b/test.txt new file mode 100644 index 0000000..e69de29

以看到,v0.9確實打在like master這次提交上。
還可以創(chuàng)建帶有說明的標簽,用-a指定標簽名,-m指定說明文字:

$ git tag -a v0.1 -m "version 0.1 released" 276b2df

用命令git show 可以看到說明文字:

$ git show v0.1 tag v0.1 Tagger: challengef <lifuquan16@nudt.edu.cn> Date: Wed Jul 4 16:55:19 2018 +0800version 0.1 releasedcommit 276b2dfad247898dc00c12758659ddd253e0c148 (tag: v0.1) Author: challengef <lifuquan16@nudt.edu.cn> Date: Tue Jun 26 21:05:22 2018 +0800append GPLdiff --git a/readme.txt b/readme.txt index ee2c1ea..eda332d 100644 --- a/readme.txt +++ b/readme.txt @@ -1,2 +1,2 @@Git is a distributed version control system. -Git is free software \ No newline at end of file +Git is free software distributed under GPL ...

注意:標簽總是和某個commit掛鉤。如果這個commit既出現在master分支,又出現在dev分支,那么在這兩個分支上都可以看到這個標簽。

小結

  • 命令git tag 用于新建一個標簽,默認為HEAD,也可以指定一個commit id;
  • 命令git tag -a -m “blablabla…”可以指定標簽信息;
  • 命令git tag可以查看所有標簽。

操作標簽

如果標簽打錯了,也可以刪除:

$ git tag -d v0.1 Deleted tag 'v0.1' (was f15b0dd)

因為創(chuàng)建的標簽都只存儲在本地,不會自動推送到遠程。所以,打錯的標簽可以在本地安全刪除。

如果要推送某個標簽到遠程,使用命令git push origin

$ git push origin v1.0 Counting objects: 12, done. Delta compression using up to 8 threads. Compressing objects: 100% (12/12), done. Writing objects: 100% (12/12), 1.35 KiB | 345.00 KiB/s, done. Total 12 (delta 3), reused 0 (delta 0) remote: Resolving deltas: 100% (3/3), done. To https://github.com/challengef/awesome-python3-webapp2.git* [new tag] v1.0 -> v1.0

或者,一次性推送全部尚未推送到遠程的本地標簽:

$ git push origin --tags Total 0 (delta 0), reused 0 (delta 0) To github.com:michaelliao/learngit.git* [new tag] v0.9 -> v0.9

如果標簽已經推送到遠程,要刪除遠程標簽就麻煩一點,先從本地刪除:

$ git tag -d v0.9 Deleted tag 'v0.9' (was f52c633)

然后,從遠程刪除。刪除命令也是push,但是格式如下:

$ git push origin :refs/tags/v0.9 git push origin :refs/tags/v0.9 remote: warning: Deleting a non-existent ref. To https://github.com/challengef/awesome-python3-webapp2.git- [deleted] v0.9

要看看是否真的從遠程庫刪除了標簽,可以登陸GitHub查看。

小結

? 命令git push origin 可以推送一個本地標簽;
? 命令git push origin –tags可以推送全部未推送過的本地標簽;
? 命令git tag -d 可以刪除一個本地標簽;
? 命令git push origin :refs/tags/可以刪除一個遠程標簽。

使用GitHub

我們一直用GitHub作為免費的遠程倉庫,如果是個人的開源項目,放到GitHub上是完全沒有問題的。其實GitHub還是一個開源協作社區(qū),通過GitHub,既可以讓別人參與你的開源項目,也可以參與別人的開源項目。

在GitHub出現以前,開源項目開源容易,但讓廣大人民群眾參與進來比較困難,因為要參與,就要提交代碼,而給每個想提交代碼的群眾都開一個賬號那是不現實的,因此,群眾也僅限于報個bug,即使能改掉bug,也只能把diff文件用郵件發(fā)過去,很不方便。

但是在GitHub上,利用Git極其強大的克隆和分支功能,廣大人民群眾真正可以第一次自由參與各種開源項目了。

如何參與一個開源項目呢?比如人氣極高的bootstrap項目,這是一個非常強大的CSS框架,你可以訪問它的項目主頁https://github.com/twbs/bootstrap,點“Fork”就在自己的賬號下克隆了一個bootstrap倉庫,然后,從自己的賬號下clone:

git clone git@github.com:michaelliao/bootstrap.git

一定要從自己的賬號下clone倉庫,這樣你才能推送修改。如果從bootstrap的作者的倉庫地址git@github.com:twbs/bootstrap.git克隆,因為沒有權限,你將不能推送修改。

Bootstrap的官方倉庫twbs/bootstrap、你在GitHub上克隆的倉庫my/bootstrap,以及你自己克隆到本地電腦的倉庫,他們的關系就像下圖顯示的那樣:

如果你想修復bootstrap的一個bug,或者新增一個功能,立刻就可以開始干活,干完后,往自己的倉庫推送。

如果你希望bootstrap的官方庫能接受你的修改,你就可以在GitHub上發(fā)起一個pull request。當然,對方是否接受你的pull request就不一定了。

如果你沒能力修改bootstrap,但又想要試一把pull request,那就Fork一下我的倉庫:https://github.com/michaelliao/learngit,創(chuàng)建一個your-github-id.txt的文本文件,寫點自己學習Git的心得,然后推送一個pull request給我,我會視心情而定是否接受。

小結

?在GitHub上,可以任意Fork開源倉庫;
?自己擁有Fork后的倉庫的讀寫權限;
?可以推送pull request給官方倉庫來貢獻代碼

總結

以上是生活随笔為你收集整理的Git学习笔记:标签管理以及GItHub的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩欧美成人网 | 免费人成在线 | 免费无遮挡网站 | 天天爱天天做 | 男人天堂中文字幕 | 亚洲国产私拍精品国模在线观看 | 婷婷综合精品 | 日韩一区欧美二区 | 欧美日韩在线观看视频 | 国产精品成人免费一区久久羞羞 | 国产对白videos麻豆高潮 | 免费精品在线 | 日韩人妻精品在线 | 日韩av一区在线观看 | 国产一区麻豆 | 爱爱小视频免费看 | 成人片在线播放 | 6996电视影片免费看 | 亚洲综合一区在线观看 | 久久最新网址 | 最新中文字幕第一页 | 波多野结衣视频一区 | 亚洲欧洲精品一区二区三区 | 在线观看色网 | 亚洲一区二区三区在线看 | 天堂网视频在线 | 先锋资源av | 美女黄免费 | 成人二三区 | 欧美mv日韩mv国产网站app | xxxxav| 亚洲一级二级三级 | 国产精品69久久久久孕妇欧美 | 午夜影院福利社 | 91视频色版| 午夜视频a| 欧美特级一级片 | 欧美成人免费网站 | 超碰免费在| www久久久久久久 | 天天舔日日操 | 国产一区视频在线观看免费 | 免费在线观看黄色片 | 色伊伊| 日b免费视频 | 国产精品久线在线观看 | 免费看一级黄色大全 | 无套在线观看 | 日本少妇全体裸体洗澡 | 1000部拍拍拍18勿入免费视频 | 成人动漫视频 | 亚洲人人在线 | 粉嫩av| 在线中出 | 国产www免费观看 | 99精品在线看 | 欧美人喂奶吃大乳 | 日韩一区久久 | 国产一级网站 | 国产精品久久久久久久久久久久久久 | 自拍露脸高潮 | 欧美91| 亚洲免费国产视频 | 久久久久人妻一区二区三区 | av网址导航 | 亚洲永久无码精品 | 无码人妻一区二区三区免费 | 网站在线播放 | 日本一区二区欧美 | 亚洲欧美国产毛片在线 | 欧美一级片在线 | 三级网站免费看 | 色xxxxx| 麻豆亚洲av成人无码久久精品 | 欧美大片免费高清观看 | 一级片小视频 | 欧美一级免费看 | 大地资源中文第三页 | 在线高清观看免费 | 午夜视频在线观看一区 | 国产精品免费一区二区三区 | 91喷水 | 九九热伊人 | 五月婷婷丁香久久 | 日韩中文字幕一区二区 | 亚洲超碰在线观看 | 日韩亚洲一区二区三区 | 一级片在线免费观看视频 | 少妇毛片一区二区三区粉嫩av | 国产偷人 | 日韩精品极品视频 | 久久久久久影院 | 国产色视频一区二区三区qq号 | 国产一区免费视频 | 放几个免费的毛片出来看 | 少妇熟女一区二区三区 | 免费福利av| av在线超碰 | www.日本色|