這篇內(nèi)容比較干,也是開(kāi)發(fā)工作中最常用管理代碼托管分支的工具,下面是我常用的到git命令
列出所有本地分支
$?git?branch
列出所有遠(yuǎn)程分支
$?git?branch?-r
刪除本地分支xxx
$?git?branch?-D?xxx
管理遠(yuǎn)程倉(cāng)庫(kù)的列表
$?git?remote
切換分支xxx(切換遠(yuǎn)程分支,自動(dòng)關(guān)聯(lián)遠(yuǎn)程分支)
$?git?checkout?xxx
撤銷(xiāo)暫存區(qū)中某個(gè)文件的修改
$?git?checkout?xxx.c
撤銷(xiāo)暫存區(qū)中所有修改
$?git?checkout?.
新建并切換分支xxx
$?git?checkout?-b?xxx
從遠(yuǎn)程倉(cāng)庫(kù)拉取最新的提交,但不會(huì)自動(dòng)合并到當(dāng)前分支。
$?git?fetch
從遠(yuǎn)程倉(cāng)庫(kù)拉取最新的提交并合并當(dāng)前分支
$?git?pull
所以有人說(shuō)git pull = git fetch + git merge。具體后面會(huì)單獨(dú)出篇文章來(lái)說(shuō)下
生成最近的1次commit的patch
$?git?format-patch?HEAD^
將名字為0001-limit-log-function.patch的patch打上
$?git?am?0001-limit-log-function.patch???
在項(xiàng)目開(kāi)發(fā)中,基本都會(huì)遇到這樣的情況:本來(lái)你在自己的分支上愉快的開(kāi)發(fā)功能A,但是突然加了一個(gè)優(yōu)先級(jí)很高的需求B或者有bug需要先修復(fù)掉。但這個(gè)時(shí)候,你新做的功能A剛開(kāi)發(fā)到一半,總不能先提交A再開(kāi)發(fā)B,或者直接拉個(gè)新分支切過(guò)去吧?(可以倒是可以,但是不推薦),這個(gè)時(shí)候 我們就要用git stash
臨時(shí)保存分支修改的內(nèi)容就像是,切換分支使用,git stash可以保存多次修改內(nèi)容
$?git?stash
恢復(fù)最近一次stash的修改的內(nèi)容
$?git?stash?pop
恢復(fù)之前多次stash中的具體那次的保存修改內(nèi)容
$?git?stash?apply????xxx
列出當(dāng)前工作區(qū)stash的所有記錄
$?git?stash?list
刪除stash的所有記錄
$?git?stash?clear
回退你已提交具體的commitID,并將commit的修改內(nèi)容放回到暫存區(qū)
$?git?reset?--hard?commitID
清空工作目錄下編譯出來(lái)的中間產(chǎn)物
$?git?clean?-df
重命名分支
$?git?branch?-m?oldNme?newName
生成某個(gè)區(qū)間的patch
$?git?format-patch???commitID..commitID??>?lsdkall.patch
制作歷史提交具體某次的補(bǔ)丁
$?git?format-patch?commitID?-1
對(duì)比出修改了哪些內(nèi)容
$?git?diff
生成某個(gè)區(qū)間的patch
$?git?format-patch?97010ef958a502c60d7080212bba353af32d2057..f2f35bbfc16b384f447a30dd0b240637331fd132?>?lsdkall.patch
生成最后第N次提交產(chǎn)生的補(bǔ)丁
$?git?format-patch?-N
回退之前的某個(gè)具體版本xxxx
$?git?reset?--hard?xxxx
顯示一個(gè)提交的詳細(xì)信息。
$?git?show?
顯示某個(gè)具體commit ID提交的詳細(xì)信息。
$?git?show?commitID
顯示歷史提交記錄
$?git?log
將文件添加到Git的暫存區(qū)。
$?git?add??.
從暫存區(qū)和工作目錄中刪除文件
$?git?rm?xx.c
將暫存區(qū)內(nèi)容添加到本地倉(cāng)庫(kù)中
$?git?commit
commit內(nèi)容分段提交
$?git?commit?-s?分段提交內(nèi)容
ctrl?+?o
回車(chē)
ctrl?+?x
對(duì)之前最近一次沒(méi)合入倉(cāng)庫(kù)的commit 提交進(jìn)行再次修改可以是文件內(nèi)容也可以是commit 信息
$?git?commit?--amend
將本地提交推送到遠(yuǎn)程倉(cāng)庫(kù)
$?git?push
有時(shí)候本地代碼和遠(yuǎn)程倉(cāng)庫(kù)有沖突的時(shí)候,就需要強(qiáng)推到倉(cāng)庫(kù)
$?git?push?-f
顯示工作目錄和暫存區(qū)的狀態(tài)。
$?git?status
顯示歷史提交記錄
$?git?log
從log歷史記錄中查找關(guān)鍵字touchpanel
$?git?log?--grep="touchpanel"
僅顯示指定John作者相關(guān)的提交
$?git?log?--author="John"
僅顯示指定提交者John相關(guān)的提交
$?git?log?--committer="John"
查看某個(gè)時(shí)間段的提交記錄
$?git?log?--after="2020-9-23?00:00:00"?--before="2020-9-23?23:59:59"
查看具體某個(gè)目錄drivers/media/i2c下的修改歷史提交記錄
git?log?--oneline??drivers/media/i2c
從倉(cāng)庫(kù)中刪除已提交的某個(gè)文件
$?git?reset?-f?xxx.txt
查看所有標(biāo)簽
git?tag
根據(jù)patch id來(lái)打標(biāo)簽,一般是出版本的人打tag
$?git?tag?-a?v0.9?85fc7e7??
展示標(biāo)簽內(nèi)容
git?show?v1.0?
刪除標(biāo)簽
git?tag?-d?v1.1???
將A分支提交內(nèi)容移動(dòng)到B分支
$?git?checkpick?
下載github上的提交
git?clone?xxx.git
另外推薦兩個(gè)Linux上有兩個(gè)查看git log歷史記錄的工具是gitk,tig
gitk是圖形化查看git提交的目錄
tig是命令去看歷史提交的目錄
這里有本git電子書(shū)需要的自取,關(guān)注公眾號(hào)[Linux隨筆錄](méi),后臺(tái)回復(fù)關(guān)鍵字git,即可獲取
作者潘小帥, 是一名Linux底層愛(ài)好者,平時(shí)寫(xiě)寫(xiě)技術(shù)原創(chuàng)文章,徒步,旅游,看電影的愛(ài)好,喜歡我的文章可以點(diǎn)贊收藏+關(guān)注,感謝你的支持,微信公眾號(hào)【Linux隨筆錄】文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-829847.html
本文由 mdnice 多平臺(tái)發(fā)布文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-829847.html
到了這里,關(guān)于這些git必會(huì)命令,你確定不進(jìn)來(lái)看下的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!