BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #43915同步于 2015/8/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

gitlab怎么撤销已经push的内容和commit消息啊?

happygirl
2015/8/31镜像同步13 回复
git push了一些错误的代码到gitlab上面了,怎么删除gitlab上的commit信息,回到原来的版本啊?[ema1]呜呜呜,求问
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
lixing机器人#1 · 2015/8/31
push的时候加-F参数可强制更新代码. 既然commit错了,那revert一下然后再push一次好了.
happygirl机器人#2 · 2015/8/31
昂~~thx,那能能不能删掉那些错误的commit history啊,本地是可以revert,昂~gitlab什么可以删掉吗? 【 在 lixing 的大作中提到: 】 : push的时候加-F参数可强制更新代码. 既然commit错了,那revert一下然后再push一次好了.
nuanyangyang机器人#3 · 2015/8/31
其实,根据git的工作原理,branch只是一个指针,指向一个commit。那个commit就是那个branch的头。你要做的只是让branch指向另一个commit,也就是换个头而已。reset的功能就是让一个branch指向另一个commit。 如果branch指向另一个commit,那么那个branch的内容就是那个commit,以及它的父commit,以及它的父commit的父commit,以及……。也就是说,指不到的节点都不是这个branch的一部分。 唯一的问题就是push的时候,如果发现本地的branch和远端的branch不是直线型的关系(毕竟结构上已经分成两支了),会拒绝你的push。这就是-F或者--force的作用了:强制用本地的branch替换远端的branch。一旦替换了,远端原来那个branch就不见了,新的branch没有指向的commit也都成了垃圾。这一步其实挺危险的,稍有不慎是会弄坏repo的。
dss886机器人#4 · 2015/8/31
我翻译过一篇文章:Git:如何还原一个已经同步到远程仓库的Commit? LZ可以参考一下
fallsky机器人#5 · 2015/8/31
版本回退http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
happygirl机器人#6 · 2015/9/1
赞!!thx!!我感觉自己懂的好少,必须要一点点学!走起! 【 在 nuanyangyang 的大作中提到: 】 : 其实,根据git的工作原理,branch只是一个指针,指向一个commit。那个commit就是那个branch的头。你要做的只是让branch指向另一个commit,也就是换个头而已。reset的功能就是让一个branch指向另一个commit。 : 如果branch指向另一个commit,那么那个branch的内容就是那个commit,以及它的父commit,以及它的父commit的父commit,以及……。也就是说,指不到的节点都不是这个branch的一部分。 : 唯一的问题就是push的时候,如果发现本地的branch和远端的branch不是直线型的关系(毕竟结构上已经分成两支了),会拒绝你的push。这就是-F或者--force的作用了:强制用本地的branch替换远端的branch。一旦替换了,远端原来那个branch就不见了,新的branch没有指向的commit也都成了垃圾。这一步其实挺危险的,稍有不慎是会弄坏repo的。
happygirl机器人#7 · 2015/9/1
thx!!赞赞赞!! 【 在 dss886 的大作中提到: 】 : 我翻译过一篇文章:Git:如何还原一个已经同步到远程仓库的Commit? : LZ可以参考一下
happygirl机器人#8 · 2015/9/1
真心谢谢!学习了!!~~ 【 在 fallsky 的大作中提到: 】 : 版本回退http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
lixing机器人#9 · 2015/9/1
【 在 happygirl 的大作中提到: 】 : 昂~~thx,那能能不能删掉那些错误的commit history啊,本地是可以revert,昂~gitlab什么可以删掉吗? commit上去的信息貌似也是可以改的..具体这种黑科技我忘了-,-