【Git】常用命令
【Git】常用命令
轉(zhuǎn)載:https://www.cnblogs.com/yangchongxing/p/10173994.html
目錄
=======================================================
1、配置
2、查看配置
3、獲取幫助
4、獲取倉(cāng)庫(kù)
5、檢查狀態(tài)
6、狀態(tài)簡(jiǎn)覽
7、跟蹤新文件
8、暫存已修改文件
9、忽略文件
10、查看未暫存的修改內(nèi)容
11、查看已暫存的修改內(nèi)容
12、Git Diff 的圖像化插件版本
13、提交更新
14、提交更新(跳過(guò)使用暫存區(qū)域)
15、刪除文件
16、移動(dòng)文件
17、查看提交歷史Log
18、撤消操作
19、查看遠(yuǎn)程倉(cāng)庫(kù)
20、添加遠(yuǎn)程倉(cāng)庫(kù)
21、拉取遠(yuǎn)程倉(cāng)庫(kù)
22、推送到遠(yuǎn)程倉(cāng)庫(kù)
23、查看遠(yuǎn)程倉(cāng)庫(kù)
24、重命名遠(yuǎn)程倉(cāng)庫(kù)
25、移除遠(yuǎn)程倉(cāng)庫(kù)
26、打標(biāo)簽
27、Git 別名
=======================================================
生成公鑰
$ ssh-keygen -t rsa -C "EmailAddress@126.com"/用戶/.ssh/id_rsa.pub 中生成了公鑰
1、配置
$ git config --global user.name "楊崇興" $ git config --global user.email yangchongxing@admin.com2、查看配置
2.1、全部key
$ git config --list2.2、單個(gè)key
$ git config user.name3、獲取幫助
$ git help <verb> $ git <verb> --help $ man git-<verb>例子
$ git help config4、獲取倉(cāng)庫(kù)
4.1、在現(xiàn)有目錄中初始化倉(cāng)庫(kù)
$ git init如果你是在一個(gè)已經(jīng)存在文件的文件夾(而不是空文件夾)中初始化 Git 倉(cāng)庫(kù)來(lái)進(jìn)行版本控制的話,你應(yīng)該開始跟蹤這些文件并提交。 你可通過(guò) git add 命令來(lái)實(shí)現(xiàn)對(duì)指定文件的跟蹤,然后執(zhí)行 git commit 提交:
$ git add *.java $ git add LICENSE $ git commit -m 'initial project version'4.2、克隆現(xiàn)有的倉(cāng)庫(kù)
克隆倉(cāng)庫(kù)的命令格式是 git clone [url]
$ git clone https://github.com/libgit2/libgit2這會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)名為 “l(fā)ibgit2” 的目錄,并在這個(gè)目錄下初始化一個(gè) .git 文件夾,從遠(yuǎn)程倉(cāng)庫(kù)拉取下所有數(shù)據(jù)放入 .git 文件夾,然后從中讀取最新版本的文件的拷貝。
如果你想在克隆遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候,自定義本地倉(cāng)庫(kù)的名字,你可以使用如下命令:
$ git clone https://github.com/libgit2/libgit2 mylibgit這將執(zhí)行與上一個(gè)命令相同的操作,不過(guò)在本地創(chuàng)建的倉(cāng)庫(kù)名字變?yōu)?mylibgit。
Git 支持多種數(shù)據(jù)傳輸協(xié)議。 上面的例子使用的是 https:// 協(xié)議,不過(guò)你也可以使用 git:// 協(xié)議或者使用 SSH 傳輸協(xié)議,比如 user@server:path/to/repo.git 。
5、檢查狀態(tài)
$ git status6、狀態(tài)簡(jiǎn)覽
$ git status -s7、跟蹤新文件
$ git add README查看狀態(tài)顯示:Changes to be committed:(要提交的修改)
8、暫存已修改文件
已追蹤文件修改后查看狀態(tài):Changes not staged for commit:(要暫存的修改)
這行下面的命令暫存
9、忽略文件
創(chuàng)建一個(gè)名為 .gitignore 的文件,列出要忽略的文件模式。
文件 .gitignore 的格式規(guī)范如下:
所有空行或者以 # 開頭的行都會(huì)被 Git 忽略。
可以使用標(biāo)準(zhǔn)的 glob 模式匹配。
匹配模式可以以(/)開頭防止遞歸。
匹配模式可以以(/)結(jié)尾指定目錄。
要忽略指定模式以外的文件或目錄,可以在模式前加上驚嘆號(hào)(!)取反。
所謂的 glob 模式是指 shell 所使用的簡(jiǎn)化了的正則表達(dá)式。 星號(hào)(*)匹配零個(gè)或多個(gè)任意字符;[abc] 匹配任何一個(gè)列在方括號(hào)中的字符(這個(gè)例子要么匹配一個(gè) a,要么匹配一個(gè) b,要么匹配一個(gè) c);問(wèn)號(hào)(?)只匹配一個(gè)任意字符;如果在方括號(hào)中使用短劃線分隔兩個(gè)字符,表示所有在這兩個(gè)字符范圍內(nèi)的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的數(shù)字)。 使用兩個(gè)星號(hào)(*) 表示匹配任意中間目錄,比如`a/**/z` 可以匹配 a/z, a/b/z 或 `a/b/c/z`等。
下面是一個(gè) .gitignore 文件示例
# 忽略.txt結(jié)尾的文件 *.txt# 忽略build目錄 build/# 僅僅忽略當(dāng)前目錄的TODO文件,不是子目錄subdir/TODO文件,不遞歸 /TODO# 忽略當(dāng)前目錄doc/notes.txt文件, 而不是doc/server/arch.txt文件,不遞歸 doc/*.txt# 忽略doc/目錄下所有.pdf文件 doc/**/*.pdf?10、查看未暫存的修改內(nèi)容
$ git diff此命令比較的是工作目錄中當(dāng)前文件和暫存區(qū)域快照之間的差異, 也就是修改之后還沒有暫存起來(lái)的變化內(nèi)容。
請(qǐng)注意,git diff 本身只顯示尚未暫存的改動(dòng),而不是自上次提交以來(lái)所做的所有改動(dòng)。 所以有時(shí)候你一下子暫存了所有更新過(guò)的文件后,運(yùn)行 git diff 后卻什么也沒有,就是這個(gè)原因。
例子
diff --git a/README b/README index 50bba42..79f5c7f 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@readmeL1 -L2L3 +hello11、查看已暫存的修改內(nèi)容
若要查看已暫存的將要添加到下次提交里的內(nèi)容,可以用 git diff --cached 命令。(Git 1.6.1 及更高版本還允許使用 git diff --staged,效果是相同的,但更好記些。)
$ git diff --cached $ git diff --staged例子
diff --git a/LICENSE b/LICENSE deleted file mode 100644 index ea5ef99..0000000 --- a/LICENSE +++ /dev/null @@ -1,3 +0,0 @@ -LICENSE lll -123 -45610和11文件的狀態(tài)
On branch master Changes to be committed:(use "git reset HEAD <file>..." to unstage)deleted: LICENSEChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified: README12、Git Diff 的圖像化插件版本
在本書中,我們使用 git diff 來(lái)分析文件差異。 但是,如果你喜歡通過(guò)圖形化的方式或其它格式輸出方式的話,可以使用 git difftool 命令來(lái)用 Araxis ,emerge 或 vimdiff 等軟件輸出 diff 分析結(jié)果。 使用 git difftool --tool-help 命令來(lái)看你的系統(tǒng)支持哪些 Git Diff 插件。
$ git difftool?13、提交更新
確認(rèn)還有什么修改過(guò)的或新建的文件還沒有 git add 過(guò),否則提交的時(shí)候不會(huì)記錄這些還沒暫存起來(lái)的變化。 這些修改過(guò)的文件只保留在本地磁盤。 所以,每次準(zhǔn)備提交前,先用 git status 看下,是不是都已暫存起來(lái)了, 然后再運(yùn)行提交命令。
$ git commit這種方式會(huì)啟動(dòng)文本編輯器以便輸入本次提交的說(shuō)明。
另外,你也可以在 commit 命令后添加 -m 選項(xiàng),將提交信息與命令放在同一行。--amend選項(xiàng)會(huì)提交到最后一次提交中,也可修改最后一次提交的注釋
$ git commit -m "add file"$ git commit --amend -m 'add file'
[master 6c8ddd8] test commit1 file changed, 3 deletions(-)delete mode 100644 LICENSE
?14、提交更新(跳過(guò)使用暫存區(qū)域)
只要在提交的時(shí)候,給 git commit 加上 -a 選項(xiàng),Git 就會(huì)自動(dòng)把所有已經(jīng)跟蹤過(guò)的文件暫存起來(lái)一并提交,從而跳過(guò) git add 步驟
$ git commit -a -m 'added'這樣就不用git add,注意:僅對(duì)已經(jīng)跟蹤過(guò)的文件才可以
?15、刪除文件
要從 Git 中移除某個(gè)文件,就必須要從已跟蹤文件清單中移除,然后提交。
可以用 git rm 命令完成此項(xiàng)工作,并連帶從工作目錄中刪除指定的文件,這樣以后就不會(huì)出現(xiàn)在未跟蹤文件清單中了。
注意:必須是已跟蹤且已提交且未修改的文件,沒有追蹤的文件直接使用 rm 命令刪除即可
$ git rm README如果刪除之前修改過(guò)并且已經(jīng)放到暫存區(qū)域(git add)的話,則必須要用強(qiáng)制刪除選項(xiàng) -f,也就是說(shuō)修改過(guò)
注意:必須是已跟蹤且已修改的文件,有沒有暫存修改都可以刪除
$ git rm -f README另外一種情況是,我們想把文件從 Git 倉(cāng)庫(kù)中刪除(亦即從暫存區(qū)域移除),但仍然希望保留在當(dāng)前工作目錄中。 換句話說(shuō),你想讓文件保留在磁盤,但是并不想讓 Git 繼續(xù)跟蹤。 當(dāng)你忘記添加 .gitignore 文件,不小心把一個(gè)很大的日志文件或一堆 .a 這樣的編譯生成文件添加到暫存區(qū)時(shí),這一做法尤其有用。?
注意:刪除后文件將變?yōu)閁ntracked files(未跟蹤),若不想被 git 跟蹤可以加入 .gitignore 文件。
$ git rm --cached a.txt其他一些例子
git rm 命令后面可以列出文件或者目錄的名字,也可以使用 glob 模式。 比方說(shuō):
$ git rm log/\*.log注意到星號(hào) * 之前的反斜杠 \, 因?yàn)?Git 有它自己的文件模式擴(kuò)展匹配方式,所以我們不用 shell 來(lái)幫忙展開。 此命令刪除 log/ 目錄下擴(kuò)展名為 .log 的所有文件。 類似的比如:
$ git rm \*~該命令為刪除以 ~ 結(jié)尾的所有文件。
?16、移動(dòng)文件
$ git mv file_from file_to On branch master Changes to be committed:(use "git reset HEAD <file>..." to unstage)renamed: file_from -> file_to其實(shí),運(yùn)行 git mv 就相當(dāng)于運(yùn)行了下面三條命令:
$ mv README.md README $ git rm README.md $ git add README如此分開操作,Git 也會(huì)意識(shí)到這是一次改名,所以不管何種方式結(jié)果都一樣。 兩者唯一的區(qū)別是,mv 是一條命令而另一種方式需要三條命令,直接用 git mv 輕便得多。
17、查看提交歷史Log
無(wú)參按提交時(shí)間列出
$ git log出現(xiàn)多頁(yè)時(shí),按回車顯示下一行,按空格顯示下一頁(yè),按q退出。
SHA-1 校驗(yàn)
作者的名字和電子郵件地址
提交時(shí)間以
提交說(shuō)明
參數(shù) -p:顯示每次提交的內(nèi)容差異
參數(shù) -n:顯示最近n(數(shù)字)提交
$ git log -p -2 commit 46fa22b5346bfc121a543be5230e8c2738104267 (HEAD -> master) Author: win <win@126.com> Date: Thu Dec 27 11:37:09 2018 +0800追加service.javadiff --git a/readme b/readme index e70eb97..d2d6456 100644 --- a/readme +++ b/readme @@ -1,3 +1,4 @@learn gitthis is a readme file, record information of project.追加index.java +追加service.javacommit bae33eedc50815f68036db2a48f62a6d349fc7ad Author: win <win@126.com> Date: Thu Dec 27 11:36:14 2018 +0800追加index.javadiff --git a/readme b/readme index 28fdfe1..e70eb97 100644 --- a/readme +++ b/readme @@ -1,2 +1,3 @@learn gitthis is a readme file, record information of project. +追加index.java?參數(shù) --stat:查看提交的簡(jiǎn)略的統(tǒng)計(jì)信息
$ git log -2 --stat commit 46fa22b5346bfc121a543be5230e8c2738104267 (HEAD -> master) Author: win <win@126.com> Date: Thu Dec 27 11:37:09 2018 +0800追加service.javareadme | 1 +1 file changed, 1 insertion(+)commit bae33eedc50815f68036db2a48f62a6d349fc7ad Author: win <win@126.com> Date: Thu Dec 27 11:36:14 2018 +0800追加index.javareadme | 1 +1 file changed, 1 insertion(+)列出所有被修改過(guò)的文件、有多少文件被修改了以及被修改過(guò)的文件的哪些行被移除或是添加了
參數(shù) --pretty:指定使用不同于默認(rèn)格式的方式展示提交歷史
每個(gè)提交放在一行顯示
$ git log --pretty=oneline還有下面三個(gè)
$ git log --pretty=short $ git log --pretty=full $ git log --pretty=fuller定制要顯示的記錄格式
$ git log --pretty=format:"%h - %an, %ar : %s" 選項(xiàng) 說(shuō)明 %H 提交對(duì)象(commit)的完整哈希字串 %h 提交對(duì)象的簡(jiǎn)短哈希字串 %T 樹對(duì)象(tree)的完整哈希字串 %t 樹對(duì)象的簡(jiǎn)短哈希字串 %P 父對(duì)象(parent)的完整哈希字串 %p 父對(duì)象的簡(jiǎn)短哈希字串 %an 作者(author)的名字 %ae 作者的電子郵件地址 %ad 作者修訂日期(可以用 --date= 選項(xiàng)定制格式) %ar 作者修訂日期,按多久以前的方式顯示 %cn 提交者(committer)的名字 %ce 提交者的電子郵件地址 %cd 提交日期 %cr 提交日期,按多久以前的方式顯示 %s 提交說(shuō)明你一定奇怪 作者 和 提交者 之間究竟有何差別, 其實(shí)作者指的是實(shí)際作出修改的人,提交者指的是最后將此工作成果提交到倉(cāng)庫(kù)的人。
當(dāng) oneline 或 format 與另一個(gè) log 選項(xiàng) --graph 結(jié)合使用時(shí)尤其有用
$ git log --pretty=format:"%h %s" --graphgit log 的常用選項(xiàng) 列出了我們目前涉及到的和沒涉及到的選項(xiàng)
選項(xiàng) 說(shuō)明 -p 按補(bǔ)丁格式顯示每個(gè)更新之間的差異。 --stat 顯示每次更新的文件修改統(tǒng)計(jì)信息。 --shortstat 只顯示 --stat 中最后的行數(shù)修改添加移除統(tǒng)計(jì)。 --name-only 僅在提交信息后顯示已修改的文件清單。 --name-status 顯示新增、修改、刪除的文件清單。 --abbrev-commit 僅顯示 SHA-1 的前幾個(gè)字符,而非所有的 40 個(gè)字符。 --relative-date 使用較短的相對(duì)時(shí)間顯示(比如,“2 weeks ago”)。 --graph 顯示 ASCII 圖形表示的分支合并歷史。 --pretty 使用其他格式顯示歷史提交信息。可用的選項(xiàng)包括 oneline,short,full,fuller 和 format(后跟指定格式)。限制輸出長(zhǎng)度
$ git log --since=2018-12-26 $ git log --since=2.weeks另一個(gè)非常有用的篩選選項(xiàng)是 -S,可以列出那些添加或移除了某些字符串的提交。 比如說(shuō),你想找出添加或移除了某一個(gè)特定函數(shù)的引用的提交,你可以這樣使用:
$ git log -Sfunction_name 選項(xiàng) 說(shuō)明 -(n) 僅顯示最近的 n 條提交 --since, --after 僅顯示指定時(shí)間之后的提交。 --until, --before 僅顯示指定時(shí)間之前的提交。 --author 僅顯示指定作者相關(guān)的提交。 --committer 僅顯示指定提交者相關(guān)的提交。 --grep 僅顯示含指定關(guān)鍵字的提交 -S 僅顯示添加或移除了某個(gè)關(guān)鍵字的提交18、撤消操作
(1).修改提交信息,補(bǔ)漏提交文件
有時(shí)候我們提交完了才發(fā)現(xiàn)漏掉了幾個(gè)文件沒有添加,或者提交信息寫錯(cuò)了。 此時(shí),可以運(yùn)行帶有 --amend 選項(xiàng)的提交命令嘗試重新提交:
$ git commit --amend -m '修改注釋'這個(gè)命令會(huì)將暫存區(qū)中的文件提交。 如果自上次提交以來(lái)你還未做任何修改,那么快照會(huì)保持不變,而你所修改的只是提交信息。
文本編輯器啟動(dòng)后,可以看到之前的提交信息。 編輯后保存會(huì)覆蓋原來(lái)的提交信息。
例如,你提交后發(fā)現(xiàn)忘記了暫存某些需要的修改,可以像下面這樣操作:
$ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend最終你只會(huì)有一個(gè)提交 - 第二次提交將代替第一次提交的結(jié)果。
(2).文件已暫存的,取消暫存,保留修改內(nèi)容,變?yōu)槲磿捍?/strong>
$ git reset HEAD filename.txt執(zhí)行完畢,文件變?yōu)樾薷奈磿捍娴臓顟B(tài)
(3).文件未暫存的,撤消對(duì)文件的修改,丟棄修改內(nèi)容
$ git checkout -- filename.txt你需要知道是一個(gè)危險(xiǎn)的命令,這很重要。 你對(duì)那個(gè)文件做的任何修改都會(huì)消失 - 你只是拷貝了另一個(gè)文件來(lái)覆蓋它。 除非你確實(shí)清楚不想要那個(gè)文件了,否則不要使用這個(gè)命令。
?19、查看遠(yuǎn)程倉(cāng)庫(kù)
$ git remote -v必須在git目錄下使用,若沒有可以克隆一份
$ git clone https://github.com/schacon/ticgit20、添加遠(yuǎn)程倉(cāng)庫(kù)
$ git remote add <shortname> <url>shortname 簡(jiǎn)寫,url 倉(cāng)庫(kù)地址
$ git remote add pb https://github.com/paulboone/ticgit $ git remote -v現(xiàn)在你可以在命令行中使用字符串 pb 來(lái)代替整個(gè) URL。例如,如果你想拉取 Paul 的倉(cāng)庫(kù)中有但你沒有的信息,可以運(yùn)行 git fetch pb:
$ git fetch pb remote: Counting objects: 43, done. remote: Compressing objects: 100% (36/36), done. remote: Total 43 (delta 10), reused 31 (delta 5) Unpacking objects: 100% (43/43), done. From https://github.com/paulboone/ticgit* [new branch] master -> pb/master* [new branch] ticgit -> pb/ticgit現(xiàn)在 Paul 的 master 分支可以在本地通過(guò) pb/master 訪問(wèn)到 - 你可以將它合并到自己的某個(gè)分支中,或者如果你想要查看它的話,可以檢出一個(gè)指向該點(diǎn)的本地分支。?
?21、拉取遠(yuǎn)程倉(cāng)庫(kù)
$ git fetch [remote-name]這個(gè)命令會(huì)訪問(wèn)遠(yuǎn)程倉(cāng)庫(kù),從中拉取所有你還沒有的數(shù)據(jù)。 執(zhí)行完成后,你將會(huì)擁有那個(gè)遠(yuǎn)程倉(cāng)庫(kù)中所有分支的引用,可以隨時(shí)合并或查看。
如果你使用 clone 命令克隆了一個(gè)倉(cāng)庫(kù),命令會(huì)自動(dòng)將其添加為遠(yuǎn)程倉(cāng)庫(kù)并默認(rèn)以 “origin” 為簡(jiǎn)寫。 所以,git fetch origin 會(huì)抓取克隆(或上一次抓取)后新推送的所有工作。 必須注意 git fetch 命令會(huì)將數(shù)據(jù)拉取到你的本地倉(cāng)庫(kù) - 它并不會(huì)自動(dòng)合并或修改你當(dāng)前的工作。 當(dāng)準(zhǔn)備好時(shí)你必須手動(dòng)將其合并入你的工作。
如果你有一個(gè)分支設(shè)置為跟蹤一個(gè)遠(yuǎn)程分支,可以使用 git pull 命令來(lái)自動(dòng)的抓取然后合并遠(yuǎn)程分支到當(dāng)前分支。 這對(duì)你來(lái)說(shuō)可能是一個(gè)更簡(jiǎn)單或更舒服的工作流程;默認(rèn)情況下,git clone 命令會(huì)自動(dòng)設(shè)置本地 master 分支跟蹤克隆的遠(yuǎn)程倉(cāng)庫(kù)的 master 分支(或不管是什么名字的默認(rèn)分支)。 運(yùn)行 git pull 通常會(huì)從最初克隆的服務(wù)器上抓取數(shù)據(jù)并自動(dòng)嘗試合并到當(dāng)前所在的分支。
22、推送到遠(yuǎn)程倉(cāng)庫(kù)
$ git push [remote-name] [branch-name]當(dāng)你想要將 master 分支推送到 origin 服務(wù)器時(shí),那么運(yùn)行這個(gè)命令就可以將你所做的備份到服務(wù)器:
$ git push origin master只有當(dāng)你有所克隆服務(wù)器的寫入權(quán)限,并且之前沒有人推送過(guò)時(shí),這條命令才能生效。 當(dāng)你和其他人在同一時(shí)間克隆,他們先推送到上游然后你再推送到上游,你的推送就會(huì)毫無(wú)疑問(wèn)地被拒絕。 你必須先將他們的工作拉取下來(lái)并將其合并進(jìn)你的工作后才能推送。
$ git push -u origin master參數(shù):-u,指定一個(gè)默認(rèn)主機(jī),這樣后面就可以不加任何參數(shù)使用 git push 命令
23、查看遠(yuǎn)程倉(cāng)庫(kù)
$ git remote show [remote-name]查看遠(yuǎn)程origin
$ git remote show origin24、重命名遠(yuǎn)程倉(cāng)庫(kù)
想要將 pb 重命名為 paul
$ git remote rename pb paul值得注意的是這同樣也會(huì)修改你的遠(yuǎn)程分支名字。 那些過(guò)去引用 pb/master 的現(xiàn)在會(huì)引用 paul/master。
25、移除遠(yuǎn)程倉(cāng)庫(kù)
$ git remote rm paul26、打標(biāo)簽
(1).列出標(biāo)簽
$ git tag(2).創(chuàng)建附注標(biāo)簽
在 Git 中創(chuàng)建一個(gè)附注標(biāo)簽是很簡(jiǎn)單的。 最簡(jiǎn)單的方式是當(dāng)你在運(yùn)行 tag 命令時(shí)指定 -a 選項(xiàng):
$ git tag -a v1.0 -m '版本1.0'-m 選項(xiàng)指定了一條將會(huì)存儲(chǔ)在標(biāo)簽中的信息。 如果沒有為附注標(biāo)簽指定一條信息,Git 會(huì)運(yùn)行編輯器要求你輸入信息。
通過(guò)使用 git show 命令可以看到標(biāo)簽信息與對(duì)應(yīng)的提交信息:
$ git show v1.0輸出顯示了打標(biāo)簽者的信息、打標(biāo)簽的日期時(shí)間、附注信息,然后顯示具體的提交信息。
(3).創(chuàng)建輕量標(biāo)簽
創(chuàng)建輕量標(biāo)簽,不需要使用 -a、-s 或 -m 選項(xiàng),只需要提供標(biāo)簽名字
$ git tag v2.0 $ git show v2.0(4).后期打標(biāo)簽
$ git tag -a v1.2 校驗(yàn)和(5).共享標(biāo)簽
默認(rèn)情況下,git push 命令并不會(huì)傳送標(biāo)簽到遠(yuǎn)程倉(cāng)庫(kù)服務(wù)器上。 在創(chuàng)建完標(biāo)簽后你必須顯式地推送標(biāo)簽到共享服務(wù)器上。 這個(gè)過(guò)程就像共享遠(yuǎn)程分支一樣 - 你可以運(yùn)行 git push origin [tagname]。
$ git push origin v1.5(6).檢出標(biāo)簽
在 Git 中你并不能真的檢出一個(gè)標(biāo)簽,因?yàn)樗鼈儾⒉荒芟穹种б粯觼?lái)回移動(dòng)。 如果你想要工作目錄與倉(cāng)庫(kù)中特定的標(biāo)簽版本完全一樣,可以使用 git checkout -b [branchname] [tagname] 在特定的標(biāo)簽上創(chuàng)建一個(gè)新分支:
$ git checkout -b version2 v2.0.0當(dāng)然,如果在這之后又進(jìn)行了一次提交,version2 分支會(huì)因?yàn)楦膭?dòng)向前移動(dòng)了,那么 version2 分支就會(huì)和 v2.0.0 標(biāo)簽稍微有些不同,這時(shí)就應(yīng)該當(dāng)心了。
27、Git 別名
如果不想每次都輸入完整的 Git 命令,可以通過(guò) git config 文件來(lái)輕松地為每一個(gè)命令設(shè)置一個(gè)別名
這里有一些例子
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status $ git config --global alias.unstage 'reset HEAD --' $ git unstage fileA $ git reset HEAD -- fileA $ git config --global alias.last 'log -1 HEAD' $ git last?
轉(zhuǎn)載于:https://www.cnblogs.com/yangchongxing/p/10173994.html
總結(jié)
- 上一篇: 【vue-number-scroll】数
- 下一篇: [BZOJ1222/Luogu2224]