為了使用Git,需要知道基本命令,如git status、git add、git checkout、git push等,本文將為大家介紹幾個最常見的的Git命令:
此命令將告訴開發(fā)人員有關(guān)當(dāng)前工作目錄中已跟蹤和未跟蹤文件的信息。
可以使用此命令查找已更改并需要提交的文件。
user@host /c/git/course (master)$ git status# 在分支 master 上沒有要提交的內(nèi)容,工作目錄干凈
由于這是一個干凈的檢查,沒有任何更改,因此git status說沒有要提交的內(nèi)容,但是現(xiàn)在如果創(chuàng)建一個名為“readme.txt”的文件并再次運行g(shù)it status,則會看到差異,并且它將高度指出readme.txt是新文件并且未跟蹤,帶有紅色輸出。
$ git status# 在分支 master 上# 未跟蹤的文件:# (使用 "git add ..." 將其包含在提交中)## readme.txt沒有提交的內(nèi)容,但存在未跟蹤的文件(使用 "git add" 跟蹤)
此命令將文件添加到暫存區(qū),這意味著現(xiàn)在git已開始跟蹤該文件。在調(diào)用git commit之前,不會提交該文件,但是git將跟蹤任何更改。
例如,在上一個示例中創(chuàng)建的文件“readme.txt”到目前為止尚未被跟蹤。現(xiàn)在使用git add命令來跟蹤該文件。
$ git add readme.txt
現(xiàn)在該文件已添加到暫存區(qū),如果再次運行g(shù)it status,則會看到不同的輸出,還會顯示文件名以綠色顯示,以指示它已被跟蹤但尚未提交。
$ git status# 在分支 master 上# 要提交的更改:# (使用 “git reset HEAD …” 取消暫存)## 新文件:readme.txt#
此命令用于在Github中創(chuàng)建分支??梢允褂么嗣顒?chuàng)建分支、修改分支和刪除分支。
例如:
$ git branch F1_BRANCH
將從您所在的主干創(chuàng)建一個新分支。例如,如果您在主分支上,則F1_BRANCH將從HEAD分支創(chuàng)建。
可以使用此git命令放棄本地更改并從存儲庫獲取新副本。
$ git checkout HEAD
將放棄自上次提交以來的所有未暫存更改或自HEAD以來的所有未暫存更改。它最適合僅本地撤消,因為它不會影響團隊依賴的遠程分支的提交歷史記錄。
還可以使用git checkout命令從特定分支下載代碼。例如:
$ git checkout F1_BRANCH
將檢出F1_BRANCH中的代碼,并更新您的工作目錄以匹配。
此命令用于查看所有提交歷史記錄。還可以使用此命令查看文件的歷史記錄,如下例所示:
$ git log -p readme.txt
這是另一個有用的git命令,用于查看本地更改的所有文件。該命令還將顯示所有文件中發(fā)生了什么更改。
$ git diff readme.txt
提示:您可以提供文件名以僅顯示一個文件的更改。
這是另一個較少知道的git命令,可用于查找已更改文件的人員,如下所示:
$ git blame readme.txt
以上命令將顯示誰更改了此文件以及添加了什么內(nèi)容以及何時添加。
這是許多程序員忽略的另一個git命令??梢允褂么薵it命令顯示本地存儲庫的HEAD的更改日志。
$ git reflog
提示:此命令適用于查找丟失的工作。實際上,最后四個git命令都對檢查事物有用。
可以使用此命令放棄任何本地提交。例如:
$ git reset --hard HEAD
放棄自最近提交以來的所有已暫存和未暫存更改。您可以將HEAD更改為任何提交哈希以放棄自那次提交以來的更改。HEAD只是最近提交的一個好指針。
另一方面,硬選項表示已丟棄已暫存和未暫存的更改。
可以使用它來還原遠程分支中的提交。與在提交和單個文件級別上工作的git reset和git checkout不同,git revert僅在提交級別上工作。
$ git revert last_commit
還原或撤消last_commit中更改的影響。值得注意的是,當(dāng)它將更改還原到存儲庫時,git revert會生成新提交。
可以使用這三個git reset、git checkout和git revert命令來撤消對存儲庫所做的更改,盡管它們之間存在輕微差異。
提示:如果只是使用自己的本地提交而尚未合并到團隊的遠程分支(如master)中,則可以使用其中任何一個命令來撤消更改,但如果已合并并且要使提交無效,則只有g(shù)it revert是要使用的命令。
可以使用git clean命令刪除本地目錄中的未跟蹤文件。例如,當(dāng)運行程序時,它可能會在工作目錄中創(chuàng)建一些.log文件,可以使用此命令擺脫它們。
$ git clean -n
可以刪除本地工作目錄中的未跟蹤文件。但是,還應(yīng)該注意一些有用的標(biāo)志,例如:
-n標(biāo)志用于干運行,不會刪除任何內(nèi)容。
-f標(biāo)志實際上刪除文件。
而且,可以使用-d標(biāo)志刪除未跟蹤的目錄。
提示:值得注意的是,默認(rèn)情況下,.gitignore未跟蹤的文件不會被刪除,但如果需要,可以更改此行為。
此命令用于提交更改。值得注意的是,在git中提交更改僅在本地工作目錄中完成。在使用git push命令之前,更改不會進入遠程分支。
$ git commit -m
允許使用提交消息提交更改。如果要更改消息,則還可以使用
$ git commit --amend
它允許您編輯最近的提交消息。如果有任何內(nèi)容,則還可以將已暫存的更改添加到最近的提交中。
提示:僅在提交未集成到遠程主分支中時才使用此命令。
這里有一個來自RebelLabs的不錯的Git備忘單,以記住所有基本Git命令:
圖片
這就是每個Java程序員、開發(fā)人員、軟件工程師都應(yīng)該知道的一些最基本的Git命令。希望文章對讀者有所幫助。
本文鏈接:http://www.tebozhan.com/showinfo-26-15341-0.html12個程序員必知必備的Git命令
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 大模型分布式并行技術(shù)--分布式系統(tǒng)
下一篇: 五個實用的Python編程小技巧