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

外媒爆料:奥克兰不明飞行物的真相居然不只一个?
......................................................
这两天你有没有被一条微信刷屏?内容大概是这样的:一直以来,我们都认为苹果是一家把高科技做到极致的值得尊敬的企
一句“你把我当什么”问出了他们的心声
我在呼市机场,马上登机,希望能在起飞前发出!今天的题目:For us, this means that ev
我知道谣言就和灰尘一样,扫不干净的,扫完马上就有新的来。
GD ins更新:ME Drawing by VIP #FanartBIGBANG北京最后一场也结束了,哥哥
点击上方蓝字关注「万能的大叔」每晚十点推送
回复「万能」
多学一点知识
以后就少求人一次君,已阅读到文档的结尾了呢~~
第8章 回滚与撤销
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
第8章 回滚与撤销
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口随笔 - 688&
文章 - 8&评论 - 799&trackbacks - 19
在SVN中,提交记录是无法修改的。比如说,当我们提交了某次修改后,发现该次提交中有错误时,只能将将补丁再次提交一遍。这样,就存在两次提交记录,没有保证提交的原子性。
在GIT中,由于提交是在本地进行的,因此如果没有发布之前,是允许使用reset命令来撤销提交记录的,这个命令有如下三种使用方式:
git reset -soft: 只撤销commit,保留working tree和index file。
git reset -mixed: 撤销commit和index file,保留working tree
git reset -hard: 撤销commit、index file和working tree,即撤销销毁最近一次的commit
默认是-mixed,不过我没有看出来mixed和soft有什么区别,都是把日志历史给reset了,内容保持不变。而hard则是把日志连同内容一起回退了,类似于回滚。
日志可以reset的好处是:可以随时commit,这样就不用担心后面的修改影响到前面,commit日志也可以不用填得很规范。每完成一个迭代后,再把之前的所有commit全部给reset掉,重新写一个能正规的注释,发布到服务器。
修改已经发布的修改
如果你的提交已经发布,reset后发布时会将服务器上的提交记录给同步下来,进行一次merge后再次发布。此时就GIT的工作方式是和SVN一样的了。此时,如果要修改服务器段的提交记录,则可以使用使用了园子里的一篇文章:中介绍的强制推送的命令:
&&&&git push origin master --force
先reset,本地提交后,用该命令强制发布,此时服务器的提交记录就会被被本地提交记录覆盖。
需要注意的是:修改已经发布的提交是有很大的有风险的,会导致无法回退到历史版本。这也是SVN不允许修改提交记录的原因。虽然GIT提供了这个命令,但不到万不得已的时候不建议使用它。
阅读(...) 评论()& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区git使用:如何进行版本回退或只是修改已提交的commit
在开发过程中,我们经常需要使用版本管理工具,git就是最为著名的一款版本软件,它诞生于linux之父-李纳斯&托沃兹(Linus Torvalds)之手。今天我为大家分享一下,如何使用git进行版本回退以及如何仅修改已提交的commit,git给你吃&后悔药&。
当你已经提交了不想提交的代码,或者提交到gerrit服务器后被打回重新提交怎么办?这是我们就需要git reset这颗&后悔药&了。 进入要回退的git仓,比如/packages/apps/DemoApp/ ,运行 git log 即可看到已经提交的commit,author等信息,如下
&pre name=&code& class=&plain&&commit 0afedb16e120b6e204b71c17139df1
Author: xiong_it&xiong_&
Tue Mar 17 09:49:38
modified by put a hdmi-in patch
Change-Id: I4fb634fae27ddbd67510
commit 31b138de2c3a6869cac13ea15e95f153
Author: aaa &&
Thu Nov 6 11:14:06
PD#): fix kernel panic during suspend by open wifi
Change-Id: I30dc8c4b440b1515fbcbd
从上面可以看出我是最后一个提交的人,我现在想回退到上一个版本,怎么做呢?
git reset 31b138de2c3a6869cac13ea15e95f153 回车,OK,搞定!后面这串是上一个版本的commit,注意:不是Change-Id!
commit回退
当我们提交了一条注释后,发现注释写的不够详细,想要修改怎么办?
这是git commit --amend能帮到你的忙!进入想要修改最后一次commit的git仓,执行git commit --amend会弹出vi编辑让你修改最后一次commit,不会使用vi的可移步:/Ubuntu下vim使用技巧精简版。最后别忘记提交,不然,修改的commit是无效的。好吧,其实,我犯过这样的错误--忘记重新提交。。。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'}

我要回帖

更多关于 svn版本回退并提交 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信