【发布时间】:2016-11-07 21:26:32
【问题描述】:
所以我正在检查其他 solutions 但它并不完全适合我我也在处理分支合并
git log
commit 6d034e1b1f03241b2c660312660ce29acca23f60
Author: ME <myfakemail@gmail.com>
Date: Thu Jun 30 13:09:08 2016 +0100
text so people click the button
commit b9295485e17ccb6662b688b5c0f796656ef5f0de
Author: Me-again <myfakemail@fakeville.com>
Date: Wed Jun 29 17:22:33 2016 +0100
Adding the 4th celebration to index.php
commit 01ab5a9cfcefe34e72f06f52974da96ce1c2980a
Author: Me-again <myfakemail@fakeville.com>
Date: Wed Jun 29 12:40:37 2016 +0100
do the status check after all stops have been performed
commit 904bfdfbc4b536d052e61a303a17e6e108b7d9fe
Author: ME <myfakemail@gmail.com>
Date: Thu Jun 23 15:16:39 2016 +0100
changing music to StarSpangled
commit 5874707b022fb6039df84372a750c8fc57215af1
Author: ME <myfakemail@gmail.com>
Date: Thu Jun 23 15:15:30 2016 +0100
Quintessential american music
commit 175d5e53c43c7175b6478070d5660e7426aeade9
Author: Me-again <myfakemail@fakeville.com>
Date: Wed Jun 22 13:11:48 2016 +0100
Adding error logging and messaging for stop and start
commit 630c25055044a44be304353d3d18e385fed091a3
Merge: 7019947 35eb826
Author: Not Me <notme@mail.com>
Date: Fri Jun 17 16:57:17 2016 +0100
Quintessential american music
commit 175d5e53c43c7175b6478070d5660e7426aeade9
Author: Me-again <myfakemail@fakeville.com>
Date: Wed Jun 22 13:11:48 2016 +0100
Adding error logging and messaging for stop and start
commit 630c25055044a44be304353d3d18e385fed091a3
Merge: 7019947 35eb826
Author: Not Me <notme@mail.com>
Date: Fri Jun 17 16:57:17 2016 +0100
Merge branch 'master' of https://github.com/ME/MyProject
commit 7019947ceea28bd80d020e062a003433529c2a5a
Author: Not Me <notme@mail.com>
Date: Fri Jun 17 16:57:00 2016 +0100
4th of July draft
commit 35eb826c39f8b8e0fafd51a9cebae68dd434c7eb
Merge: f0a144f 6a6937d
Author: Me-again <myfakemail@fakeville.com>
Date: Fri Jun 17 16:26:18 2016 +0100
Merge branch 'master' of https://github.com/ME/MyProject
Entering the new cast iron options
因此,基本上我们有了这个项目,并决定为我们的美国同胞增加一些风味/乐趣。唯一的事情是,虽然我们已经做好了升级的准备,但对项目做出了一些严肃的承诺。
现在第四个结束了,我想删除主题内容并恢复正常
我在想我的选择是
- 恢复所有第 4 次相关的提交
- rebase 并将两个严重的提交添加回代码中
所以我跑了
git revert --no-commit 6d034e1b1f03241b2c660312660ce29acca23f60 b9295485e17ccb6662b688b5c0f796656ef5f0de 904bfdfbc4b536d052e61a303a17e6e108b7d9fe 5874707b022fb6039df84372a750c8fc57215af1 630c25055044a44be304353d3d18e385fed091a3 7019947ceea28bd80d020e062a003433529c2a5a
error: Commit 630c25055044a44be304353d3d18e385fed091a3 is a merge but no -m option was given.
据我所见,它让我处于半还原状态,仅在暂存区域中删除了那些提交的编辑,但合并中引入的更改仍然存在
我最好只是重新提交到提交 35eb826c39f8b8e0fafd51a9cebae68dd434c7eb 然后添加
01ab5a9cfcefe34e72f06f52974da96ce1c2980a
175d5e53c43c7175b6478070d5660e7426aeade9
抱歉,如果您的 git 大师遇到类似情况,您会采取什么行动?
【问题讨论】:
-
为链接干杯,但我想我主要关心的是哪个是最好的使用方法。一般来说,我对 Git 很陌生,所以如果出现这种情况,最好采取哪种行动?恢复或变基我只想以最“正确”的方式做事
-
如果您想亲自撤消更改,我会使用 revert 来处理这些提交。我强烈建议复制你的回购,这样如果你搞砸了,你总是有一个干净的版本。因此,在您的副本中进行测试,一旦您知道要运行哪些命令,然后在实时存储库中执行它。
-
也强烈推荐 SourceTree 或某种类型的 Git GUI
标签: git git-rebase git-commit git-revert