首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git日志条目显示两次,但具有不同的提交id

Git日志条目显示两次,但具有不同的提交id
EN

Stack Overflow用户
提问于 2020-03-06 15:21:40
回答 1查看 181关注 0票数 3

我的git log如下所示。

代码语言:javascript
复制
3c61cc9 Commit A
dcf34cd Commit B
821cfe8 Commit A
7a5a58f Commit C
0987a57 Commit D
12721a1 Commit B

这里A & B出现两次,使用不同的提交ID,而且git diff 3c61cc9 821cfe8也是相同的,每次提交之间没有区别。那么有没有办法去掉这些重复的东西呢?

EN

回答 1

Stack Overflow用户

发布于 2020-03-07 05:05:35

假设你喜欢你的3c61cc9821cfe8的外观,你可以这样做

代码语言:javascript
复制
git reset 821cfe8

那么前两个提交将被“删除”。然后你的历史上就会有ACDB了。

但是,如果您希望通过删除821cfe812721a1 (取决于您是如何进入当前状态的,是否已经推送了所有这些提交,以及您的团队的协作规则)来重建您的历史,您可以尝试像这样重建您的历史:

  1. 签出您关心的最新提交-无论是12721a1
  2. 之前发生的什么-选择您想要的每个新提交添加
  3. 重置您的分支以指向新的“最新”提交

例如:

代码语言:javascript
复制
$ git checkout <commit right before 12721a1> 
$ git cherry-pick 0987a57 # (commit D)
$ git cherry-pick 7a5a58f # (commit C)
$ git cherry-pick dcf34cd # (commit B)
$ git cherry-pick 3c61cc9 # (commit A)
$ git checkout <branch>
$ get reset <commit you switched to 2 steps ago>

注意:从技术上讲,这些操作都不会“删除”提交,只是将它们从该分支的历史记录中删除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60559316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档