Git 撤銷操作與分支合並操作指南


Git 撤銷操作與分支合並操作指南

有時執行git add .操作后續想要撤銷add某一個文件或者所有文件;

有時執行git commit 操作后續想要回到上一個提交點操作;

前提須知

git status # 查看git狀態

撤銷add

查看Git狀態

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:                                # 注意
  (use "git reset HEAD <file>..." to unstage)

        modified:   .idea/misc.xml
        modified:   .idea/modules.xml
        modified:   app/app.iml

只要在 “Changes to be committed” 這行下面的,就說明是已暫存狀態。也就是說這些文件被add過,但是沒有commit。如果此時提交,那么該文件此時此刻的版本將被留存在歷史記錄中。
但是這些文件是被.ignore忽略的,所以我們應該取消add

此時: 執行 git reset HEAD <路徑/文件名> 就是對某個文件進行撤銷了.

撤銷對不必要文件的修改:git checkout -- <路徑/文件名> 或者 git restore <file>...

🙅‍♀️ git reset HEAD 撤銷所有add的文件。

撤銷commit

背景:

git add . //添加所有文件

git commit -m "本功能全部完成"

執行完commit后,想撤回commit,怎么辦?

解決辦法: git reset --soft HEAD^ 僅僅撤銷上一次提交,不回滾代碼修改。

學習內容:

--mixed 
意思是:不刪除工作空間改動代碼,撤銷commit,並且撤銷git add . 操作
這個為默認參數,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一樣的。


--soft  
不刪除工作空間改動代碼,撤銷commit,不撤銷git add . 
 
--hard
刪除工作空間改動代碼,撤銷commit,撤銷git add . 

注意完成這個操作后,就恢復到了上一次的commit狀態。

git commit --amend  修改注釋內容

合並分支學習

切換分支:git checkout 分支名

創建新分支: git checkout -b 分支名

合並分支:git merge 分支名,將分支名所在分支合並到當前所在分支。

合並分支出現的三種情況

git merge 命令應用的三種情景

  • “快進”(無沖突)
  • 非“快進”,修改不同文件。(無沖突)
  • 非“快進”,修改相同文件。(有沖突)

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM