在开发过程中,我们经常需要使用版本管理工具,git就是最为著名的一款版本软件,它诞生于linux之父-李纳斯·托沃兹(Linus Torvalds)之手。今天我为大家分享一下,如何使用git进行版本回退以及如何仅修改已提交的commit,git给你吃“后悔药”。
版本回退
git reset 当你已经提交了不想提交的代码,或者提交到gerrit服务器后被打回重新提交怎么办?这是我们就需要git reset这颗“后悔药“了。 进入要回退的git仓,比如/packages/apps/DemoApp/ ,运行 git log 即可看到已经提交的commit,author等信息,如下<pre name="code" class="plain">commit 0a30864b4d07fedb16e120b6e204b71c17139df1
Author: xiong_it<xiong_it@helloworld.com>
Date: Tue Mar 17 09:49:38 2015 +0800
modified by put a hdmi-in patch
Change-Id: I4fb420061c9937377a5fc09634fae27ddbd67510
commit 31b138de2c3a6869cac13e082454d5a15e95f153
Author: aaa <aaa@helloworld.com>
Date: Thu Nov 6 11:14:06 2014 +0800
PD#99387(99384): fix kernel panic during suspend by open wifi
Change-Id: I30d4769c0d4c8c4b440b1515fbcb44737287855d
从上面可以看出我是最后一个提交的人,我现在想回退到上一个版本,怎么做呢?
git reset 31b138de2c3a6869cac13e082454d5a15e95f153 回车,OK,搞定!后面这串是上一个版本的commit,注意:不是Change-Id!
commit回退
当我们提交了一条注释后,发现注释写的不够详细,想要修改怎么办?
这是git commit --amend能帮到你的忙!进入想要修改最后一次commit的git仓,执行git commit --amend会弹出vi编辑让你修改最后一次commit,不会使用vi的可移步:Linux/Ubuntu下vim使用技巧精简版。最后别忘记提交,不然,修改的commit是无效的。好吧,其实,我犯过这样的错误--忘记重新提交。。。
转载请保留出处和链接:http://blog.csdn.net/xiong_it/article/details/44338223,谢谢!!
参考链接:http://www.open-open.com/lib/view/open1405048177091.html