gpt4 book ai didi

git - 如何将 "reopen"一个古老的提交到最近提交中恢复的工作树中?

转载 作者:行者123 更新时间:2023-12-04 16:36:04 26 4
gpt4 key购买 nike

我的目标是重新访问旧错误提交的原始更改(此后已恢复),但是由于许多事情都发生了变化,因此在我的工作树中将那些古老的更改放在 repo 协议(protocol)的 HEAD 中,解决问题并提交新的最好没有问题。

一千次提交前(一个月前),我提交了一个更改。

一百次提交前(一周前),有人发现了提交的一个微妙但 Not Acceptable 问题,以便快速解锁那个人我恢复了提交(git revert hash .. . 工作起来很有魅力)。

冲刺已经过去,现在在我的存储库中的 HEAD,我想重新打开原始提交中已经被还原的更改,这样我就可以梳理这些更改并找出根本原因发现的问题。

将一千次提交之前的提交“重新打开”到我的本地工作树中的好方法是什么?(因此 git status 将被修改 在我的工作树中。)

更糟糕的情况是 git checkout 在另一个 repo 中并排执行旧提交并进行手动差异(例如,vi -d current/foo.cpp ancient/foo.cpp) 并手动复制差异。听起来很乏味,而且出现手动错误的可能性更高。

会有一些冲突,但它们相对微不足道,例如固定的拼写错误或空格更改。

我不想按原样重新提交旧提交,因为它需要仔细检查和修复。

最佳答案

我建议在您的日志历史记录中找到还原提交 的散列,然后使用 <commit_hash>你可以

git revert --no-commit <commitHash>
# or the shorter
git revert -n <commitHash>

...这会将原始提交的更改带入您的工作树,而无需实际提交,这让您可以测试、编写更多代码,然后在您准备好时提交。

关于git - 如何将 "reopen"一个古老的提交到最近提交中恢复的工作树中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69677716/

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