Git undo 操作
相比傳統的版本管理工具,git 的 undo 操作也不是很簡單明了,本文嘗試總結常用的 undo 操作。
重新提交
應該避免考慮不周全的提交,但這太難了。因此Git?專門提供了一個命令來彌補粗心的提交導致的問題。說白了就是讓你重新提交一次。
$ git commit --amend這個命令會重新提交暫存區中的內容。因此你可以重新考慮哪些文件需要提交,并且把這次提交用的comment準備好。
?
為了更好的理解這個命令,我們看看它是怎么工作的。
它相當于下面的兩條命令:
$ git reset --soft head^ $ git commit -e -F .git/COMMIT_EDITMSG第一條命令讓頭指針指向上次的提交,并且不改變暫存區和工作區。
第二條命令是重新提交,并且強制輸入提交說明。
回滾暫存區中的變更
我們希望每次提交都是一個相對完整的整體。所以很多時候是提交所有變更文件中的一部分。
舉個簡單的例子,當前修改了兩個文件,希望把它們包含到不同的提交中。所以問題就來了,我們習慣了使用
git add -u?或者?git add .?這樣的命令,一不留神就把所有的修改文件添加到了暫存區。
其實git已經很殷勤的告訴我們該怎么做了:
$ git reset head begin.txt
好了再用?git status?命令看看,begin.txt?此時已經離開了暫存區。
回滾工作區中的變更
這是一個很危險的操作,因為這真的會丟掉工作區中的變更,并且是找不回來的。在產生這個念頭時,一定要三思!至于具體的操作,Git?也為我們提供了詳細的指導:
$ git checkout -- begin.txt
再看看工作區,begin.txt?文件已經被回滾了。
本文轉自sparkdev博客園博客,原文鏈接:http://www.cnblogs.com/sparkdev/p/5792356.html,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的Git undo 操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017年软件工程第四次作业-3四则运算
- 下一篇: 整数问题