gpt4 book ai didi

git - "git rebase --interactive"在尝试重新排序时静默丢弃提交

转载 作者:太空狗 更新时间:2023-10-29 13:55:40 26 4
gpt4 key购买 nike

我注意到我在运行 git rebase --interactive 时默默地丢失了提交,所以我在一个简单的 repo 中重新创建了这个问题以进行测试。

我有四个提交,我想重新排序其中两个。这是我的开始提交:

55d4ca6 1  <-- origin/master  
d70d325 2
b613c5b 3
2bd1177 4 <-- master

每个提交都独立于其他提交;他们都操纵不同的文件。我想重新排序提交以切换提交 2 和 3。我将使用 git rebase --interactive origin/master 执行此操作。运行该命令可以按预期顺序在 vim 窗口中提交我的提交:

pick d70d325 2  
pick b613c5b 3
pick 2bd1177 4

我要交换提交 2 和 3,所以我在 vim 中重新排序它们:

pick b613c5b 3  
pick d70d325 2
pick 2bd1177 4

我希望交换两个提交,如下所示:

55d4ca6 1
bf330a8 3
5c6f9af 2
7cb8db1 4

然而在实践中,我的一个提交已经消失了,我的 repo 协议(protocol)留下了这个:

55d4ca6 1  
7de7fb0 3
10fc3a7 4

我是否错误地使用了 rebase --interactive?或者这是 Git 中的错误?

我使用的是最新的 Window Git 版本 (1.9.5.msysgit.0)。在过去的几个月里,我在几个 Git 版本中定期注意到这一点。

编辑 1:用文本替换 vim 和 gitk 图像。如果您想确切了解我所看到的内容,请查看原始问题修订版。

最佳答案

由于快捷方式,我实际运行的命令是 git rebase --interactive --preserve-merges origin/mastergit rebase documentation 的 BUGS 部分列出了一起使用这些命令并尝试重新排序提交.

BUGS 部分有一个问题与我在上面尝试描述的问题完全相同,并且可能更好地解释了正在发生的事情。

答案:您将在尝试使用 rebase --interactive --preserve-merges 重新排序时放弃提交。不要将两者一起使用。

关于git - "git rebase --interactive"在尝试重新排序时静默丢弃提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27627527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com