git 命令使用分享

本篇文章分享幾個git的命令,本人在代碼託管中,有時候需要用到的命令,雖然並不是常用命令,但是偶爾需要也是很方便的

1、cherry-pick (揀選)

  • 簡介:
    當一個我們的活動分支(如qa),需要另一個分支(如dev)需要某個提交時,我們在活動分支(如qa)執行git cherry-pick xxx,揀選出(如dev上)這個提交所引入的修改
  • 使用場景:
    假如我們在dev分支開發一個功能,我們將功能提交到dev上了,但是後面需要將這個功能分到qa上去提測的時候,可在qa分支上cherry-pick揀選出改功能進行修改
  • 注意事項:
    1、一般揀選出來以後如果有衝突,如沒有特殊情況採用傳入的更改覆蓋即可
    2、揀選的時候,同一個文件,在這個揀選點先前的修改也會被揀選出來的,不同文件則不會

2、reset (重置)

2.1  git reset --hard XXX (硬重置)

  • 簡介:
    有時候我們並不想保留特定提交引入的修改,後續也不需要訪問他,可以就可直接重置到特定提交之前的狀態
    硬重置,重置以後,提交記錄不保留
  • 使用場景:
    錯誤提交一個A功能,需要重置回去提交前的狀態
    合併錯誤的時候也可以通過reset還原
  • 注意事項:
    如果重置的是遠程的提交,重置 完成以後,push需要加上-f,進行強制推送,例如: git push origin dev -f


     

2.1  git reset --soft XXX (軟重置)
 

  • 簡介:
    有時候我們並不想保留特定提交引入的修改,後續也不需要訪問他,可以就可直接重置到特定提交之前的狀態
    軟重置,重置以後,移至指定提交,但是修改記錄不會移除
  • 使用場景:
    錯誤提交一個A功能,但是需要保留部分修改,需要重置回去提交前的修改狀態,進行處理
  • 注意事項:
    如果重置的是遠程的提交,重置 完成以後,push需要加上-f,進行強制推送,例如: git push origin dev -f

 

3、revert(撤銷修改)

  • 簡介:
    撤銷指定提交的修改內容,通過對特定的提交執行還原操作,我們會創建一個包含已還原修改的新提交
  • 使用場景:
    錯誤提交一個A功能,後續要提交了多個功能其他的功能,這個時候需要撤銷之前的功能A的修改
  • 注意事項:
    如果revert 的點,後續沒有改同個文件的提交,直接有一個撤銷之前的修改
    如果revert 的點,後續存在有改同個文件的提交,則會撤銷後續的修改,存在衝突需要解決

4、commit --amend (修改上一次提交的註釋)

  • 簡介:
    修改上一次提交的註釋,git commit --amend,然後彈出編輯框修改註釋內容
  • 使用場景:
    提交一個A功能,但是註釋寫錯啦,又提交了甚至推送到遠程啦,需要修改註釋
  • 注意事項:
    如果重置的是遠程的提交,重置 完成以後,push需要加上-f,進行強制推送,例如: git push origin dev -f

5、rebase (補充第4點修改指定提交的註釋)

  • 簡介:
    修改指定提交的註釋,git rebase -i xxx,xxx是我們需要修改提交的上一次提交的header,進入編輯默認,修改提交註釋的pick爲reword,保存,再編輯修改新的註釋內容,保存提交即可
  • 使用場景:
    提交一個A功能,但是註釋寫錯啦,中間又有其他提交,又提交了甚至推送到遠程啦,需要修改註釋
  • 注意事項:
    如果重置的是遠程的提交,重置 完成以後,push需要加上-f,進行強制推送,例如: git push origin dev -f
    裏面操作還有很多,可以去了解,但不是很推薦用這個,感覺不熟悉風險比較大

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