您的位置首页生活百科

如何进行版本回退或只是修改已提交的commit

如何进行版本回退或只是修改已提交的commit

当你已经提交了不想提交的代码,或者提交到gerrit服务器后被打回重新提交怎么办?这是我们就需要git reset这颗“后悔药“了。 进入要回退的git仓,比如/packages/apps/DemoApp/ ,运行 git log 即可看到已经提交的commit,author等信息,如下view sourceprint?

01.commit 0a30864b4d07fedb16e120b6e204b71c17139df1

02.Author: xiong_it

03.Date: Tue Mar 17 09:49:38 2015 +0800

04.

05.modified by put a hdmi-in patch

06.

07.Change-Id: I4fb420061c9937377a5fc09634fae27ddbd67510

08.

09.commit 31b138de2c3a6869cac13e082454d5a15e95f153

10.Author: aaa

11.Date: Thu Nov 6 11:14:06 2014 +0800

12.

13.PD#99387(99384): fix kernel panic during suspend by open wifi

14.

15.Change-Id: I30d4769c0d4c8c4b440b1515fbcb44737287855d

view sourceprint?

1.

从上面可以看出我是最后一个提交的人,我现在想回退到上一个版本,怎么做呢?

view sourceprint?

1.

view sourceprint?

1.git reset 31b138de2c3a6869cac13e082454d5a15e95f153 回车,OK,搞定!后面这串是上一个版本的commit,注意:不是Change-Id!

commit回退

当我们提交了一条注释后,发现注释写的不够详细,想要修改怎么办?

这是git commit --amend能帮到你的忙!进入想要修改最后一次commit的git仓,执行git commit --amend会弹出vi编辑让你修改最后一次commit,不会使用vi的可移步:Linux/Ubuntu下vim使用技巧精简版。最后别忘记提交,不然,修改的commit是无效的。好吧,其实,我犯过这样的错误--忘记重新提交。。。