工具篇:git stash、git diff

git stash

功能:該命令會把當前分支工作區和暫存區修改的內容,保存到git的存儲棧中,並使當前分支內容與最近一次提交版本一致。這個存儲棧是多個分支共享的,即A分支上存儲的修改,可以在B分支上恢復。存儲棧是本地的,不能push到遠程服務器。

使用場景:當前編寫代碼沒有完成,不想提交未完成的代碼到本地倉庫,卻有一個緊急需求需要先開發。或者是未提交的代碼,從一個分支轉移到另一個分支。

保存

git stash:把當前分支工作區和暫存區的代碼保存在存儲棧,默認保存信息head提交的commit-id和commit-message

git stash save 'message':把當前分支工作區和暫存區的代碼保存在存儲棧,並指定保存信息

查看

git stash list:查看存儲棧的信息,編號0對應棧頂。

恢復

git stash pop:恢復存儲棧的棧頂的一次保存到當前分支,並在棧中刪除。

git stash apply 某次stash-id:恢復該次存儲到當前分支,但在棧中不刪除記錄。默認使用棧頂記錄。

刪除

git stash drop: 刪除存儲棧的棧頂記錄,相當於git stash drop stash@{0}

git stash drop stash-id:刪除指定的存儲內容

git stash clear:清空存儲棧,即刪除所有內容

git diff

比較區別

git diff branch1 branch2 --stat : 顯示出兩個分支的差異部分

git diff branch1 branch2 : 顯示所有有差異文件到詳細差異

git diff old-commit-id new commit-id > patch  : 比較兩次提交的內容,並把新修改的內容導入文件patch

git apply --checkout patch:檢查補丁是否可用

git apply patch:把補丁應用到當前分支,然後可以git add .、git commit --amend,把補丁內容追加到最近一次提交。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章