【发布时间】:2021-10-14 04:05:38
【问题描述】:
假设我有一个大型项目,团队很大,而且提交速度很快。我编写了一些代码,进行提交,然后将该提交推送到源。
然后我决定不再想要那个提交。如果我要
git reset --hard HEAD~1
或类似的东西,我的历史可以追溯到过去,而且 GitHub 一直坚持让我运行 pull,因为我的本地现在落后于 GitHub。
相反,我想要做的是返回一个提交,但让历史看起来好像我做了原始提交,然后又做了另一个提交,但第二次提交实际上只是删除了第一的。这样,其他团队成员可以随时拉取,而不会搞砸历史记录。
我怎样才能做到这一点?
【问题讨论】:
-
你试过了吗...
revert? -
您似乎想隐藏还原,这是可以理解的,但通常不是必需的或重要的。如果没有重置,你不会这样做,这会产生分歧,需要的不仅仅是来自其他开发者的拉动。
-
因为您说“返回提交”。特别是“返回一个提交,但是”。这意味着您希望在可见、历史和现实之间有所区别。
-
听起来你根本不知道
git revert,它正是你想要的:做一个完全撤消的new提交另一个提交。既然您知道这一点,我不确定这个问题有多大价值(恕我直言)。也许考虑删除它?
标签: git