重命名
git mv oldFileName newFileName
撤銷本地倉庫和暫存區提交的記錄和提交的文件
git reset --hard
創建新分支(基於某次提交或者基於某個分支)
git checkout -b 分支名 提交id/分支名
查看git歷史記錄
git log
查看git歷史記錄簡約一條
git log --oneline
查看git歷史記錄簡約一條+圖形化
git log --oneline --graph
查看git所有分支提交的歷史記錄簡約一條+圖形化
git log --oneline --all --graph
查看git所有分支最新的4次提交的歷史記錄簡約一條+圖形化
git log --oneline --all -n4 --graph
注:這4次提交指的是所有分支加起來的最新提交的4次,指的不是單個分支
怎樣刪除分支?
git branch -D 刪除的分支名
怎樣修改當前分支最新一次提交的message信息?
git commit --amend
esc :wq
怎樣修改老舊commit的message信息?前提是:此分支尚未推送至遠程
找到操作提交記錄的父提交id,也可以理解爲上一次提交記錄
git rebase -i <父commitid>
只修該提交信息用把pick更新爲r,然後在git彈出的命令窗口中,修改提交記錄信息,最後保存退出即可
怎樣把連續的多個commit整理成1個?前提是:此分支尚未推送至遠程,只修該提交記錄,對提交文件內容不做修改
找到操作提交記錄的父提交id,也可以理解爲上一次提交記錄
git rebase -i ac5e973
1.找到像合併的那幾個提交信息
2.想合併的幾次提交前面的pick保留一個,其餘想合併的提交將pick更新爲s,然後在git彈出的命令窗口中,添加修改提交記錄信息,最後保存退出即可
怎樣把間隔的幾個commit整理成1個呢?
前提是:此分支尚未推送至遠程,只修該提交記錄,對提交文件內容不做修改
找到操作提交記錄的父提交id,也可以理解爲上一次提交記錄
git rebase -i ac5e973
1.找到像合併的那幾個提交信息
2.把想要合併的幾個間隔的提交記錄,讓他們排列在一起
3.想合併的幾次提交前面的pick保留一個,其餘想合併的提交將pick更新爲s,然後在git彈出的命令窗口中,添加修改提交記錄信息,最後保存退出即可
怎樣比較暫存區和HEAD所含文件的變化?適用於,工作區的文件已經添加至暫存區,尚未進行提交,比較暫存區和當前分支的文件的不同,如果添加至暫存區的文件正確的,可以進行提交,推送遠程;如果比較之後發現暫存區的文件是錯誤的,這是可以在工作區將錯誤的文件內容進行修改,重新將的錯誤修改後的文件,添加至暫存區,再和HEAD進行文件比對。
git diff --cached
怎樣比較工作區和暫存區所含文件的差異呢?
git diff
如果只想比較某一個文件呢?
git diff -- 比較的文件名
如果只想比較某幾個文件呢?一次排列即可
git diff -- 比較的文件名1 比較的文件名2 比較的文件名3
如何把暫存區恢復成和HEAD的一樣?
使用場景:
本來打算,將暫存區的文件,進行提交本地倉分支當做一個新的版本,但是發現,現在工作區的對文件的修改更適合作爲一個新的版本,提交至本地倉庫的分支上,暫存區的文件需要全部刪除,不要了。
git reset HEAD
再用git diff --cached,比較一下暫存區和HEAD文件變化,如果返回爲空,說明沒變化保持一樣,如果有記錄說明暫存區和HEAD 文件有不同的記錄如下所示
如何讓工作區的全部文件恢復爲和暫存區一樣?
應用場景:
在工作區我做了一版文件優化的操作,將工作區優化的文件添加至暫存區,先不進行提交;然後,在工作區又對優化版本進行修改,但是測試效果,還不如以前添加至暫存區的優化版本呢,想把工作區恢復到添加暫存區優化的版本。
git checkout
如何讓工作區的指定某一個文件恢復爲和暫存區一樣?
git checkout 指定文件名
如何讓工作區的指定某些文件恢復爲和暫存區一樣?
git checkout 指定文件名1 指定文件名2 指定文件名3
變更工作區的文件用git checkout
變更工作區的文件用git reset
怎樣取消暫存區部分文件和HEAD一樣?
git reset HEAD 指定恢復文件名1 指定恢復文件名2 指定恢復文件名3
消除最近的幾次提交?
git reset --hard 想回到指定的commit
注:此命令,要慎用一旦執行此命令,之後的提交記錄和文件全部刪除,找不回來了。
1.查看不同分支全部文件的差異?
git diff 分支1 分支2
2.查看不同分支指定的文件的差異?
git diff 分支1 分支2 -- 指定查看差異的文件名
3.查看不同分支指定提交的文件的差異?
git diff 分支1commit 分支2commit
4.查看不同分支指定提交併且指定的文件的差異?
git diff 分支1commit 分支2commit -- 指定查看差異的文件名
2和4效果一樣的
刪除文件
git rm 刪除的文件名
禁止向集成分支執行變更歷史的操作?
企業dev/test/master分支禁止使用git rebase -i命令,行變更歷史的操作。
禁止向集成分支執行刪除提交記錄和提交文件的操作?
企業dev/test/master分支禁止使用git rebase -i命令,提交有問題就做回滾,不能做刪除。
禁止向集成分支執行強制推送遠程操作操作?
企業dev/test/master分支禁止使用git push -f origin 本地分支名
git 隨機摘要
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.