gpt4 book ai didi

Git revert 不带回较早的状态

转载 作者:太空狗 更新时间:2023-10-29 14:27:33 25 4
gpt4 key购买 nike

所以很久以前,我在我的项目中添加了一个文件夹 abc,其中包含一组文件,并提交了修订版 xyz。在多次提交后,有人用 git rm -r abc 删除了文件夹。在此之后也有很多提交。

现在我需要取回文件夹 abc。我愿意

git revert xyz

在此之后,我可以找到文件夹 xyz,但并不是所有在提交 xyz 中添加的文件都存在。

我做错了什么?我不想重置,因为我想保留提交 xyz 和现在之间的历史记录。

最佳答案

你真正想要的是:

git checkout xyz -- abc

那是说“给我获取路径 abc 中内容的版本,因为它在提交 xyz 中”。这样,您的文件夹将恢复到提交时的状态,但您不会触及任何其他可能已被修改的文件。

(如果您明确指定提交,则不需要 --,除非提交的名称恰好也是项目中的文件名。例如,如果您尝试从 master 指向的提交中检查名为 HEAD 的文件的版本,您需要执行 git checkout master -- HEAD[只是节省您自己的时间,不要将您的分支和标签命名为与您的文件相同的名称。])

你不想 git revert xyz 因为那是为了创建反转其他提交的提交,你显然不想反转你的添加 首先是文件。

关于Git revert 不带回较早的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7361181/

25 4 0