生活随笔
收集整理的這篇文章主要介紹了
git撤销commit 并保存之前的修改
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
撤銷并保留修改
參數 –soft
$ git commit -am "對首篇報告研究員字段改為author_name" 執行git log
$ git log commit 3d6788f577faba5e1d408e372031c81beee79749 Author: yous <yous.com> Date: Thu Dec 14 10:08:36 2017 +0800 添加 commit 5029f0cc08cffb77f7358de7d5534e8f8eacb82e Author: yous <yous.com> Date: Thu Dec 14 09:52:39 2017 +0800 Revert "Revert "修改過程"" This reverts commit c81f785a06804f5f40b41dedd038efbe6d83f8a8. commit c81f785a06804f5f40b41dedd038efbe6d83f8a8 Author: yous <yous.com> Date: Thu Dec 14 09:52:22 2017 +0800 Revert "修改" This reverts commit 5a1d18a032d8c9269613ff14593847f82043e627. commit 5a1d18a032d8c9269613ff14593847f82043e627 可以看出,第一個是我剛剛commit的,我要撤銷,當然是選擇第二個;
執行命令git reset --soft <commit>
$ git
reset $ git status On branch yutao Your branch is up-to-date with Changes to be committed: (use "git reset HEAD <file>..." to unstage) modified: dataservice/app/ggservice/v1/event/service/InfoEventService.java 可以看出已經回撤啦,并且保留了修改。
參數 –mixed
$ git reset Unstaged changes after reset: M dataservice/app/ggservice/v1/event/service/InfoEventService.java yutao@yutao MINGW64 /d/sts/workspace/ggservice (yutao) $ git status On branch yutao Your branch is up-to-date with 'origin/yutao'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: dataservice/app/ggservice/v1/event/service/InfoEventService.java no changes added to commit (use "git add" and/or "git commit -a") 這種方式也是可以的。?
參數--soft和--mixed區別:
參數區別
| --soft | 會將改動放在緩存區 |
| --mixed | 不把改動放在緩存區 |
git reset –hard?<commit_id>
這種方式,我個人是不推薦,它也是撤銷,但是不會保留修改。?
除非你確實是不想要剛剛commit的內容,否則,這個操作會讓你之前干的活,白干。?
所以非常不推薦這個方式。
轉載于:https://www.cnblogs.com/wwjldm/p/10456078.html
總結
以上是生活随笔為你收集整理的git撤销commit 并保存之前的修改的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。