gpt4 book ai didi

git - 如何将特定的 git commit 复制到暂存区?

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

我想将最后一次提交从一个分支(即branch-one)复制到另一个分支(即branch-two)的暂存区。这可能吗?如果可能,如何实现?

最佳答案

git checkout命令通过 index/staging-area 写入工作目录,因此 check out 文件完成了工作(尽管无论您是否需要它都会更新工作目录)。

问题当然是git checkout <em>commit</em>切换分支,或分离 HEAD。避免这种情况的技巧是 check out 特定文件,从而避免这种分支切换:

git checkout branch-one -- path/to/file.ext

如果您 checkout 整棵树,您将获得所有文件。假设您在顶级目录中:

git checkout branch-one -- .

会成功的。

另一个警告:这不会删除任何存在于branch-one中的文件。 .如果您也想要这样做,请先删除所有内容(通过 check out 其他分支中的所有文件,将重新填充暂存区域):

git rm -rf .
git checkout branch-one -- .

(如果您不想复制其他分支的 .gitignore 等,请根据需要进行调整;请注意,您可以从 branch-two 恢复特定文件,又名 HEAD,使用:

git checkout HEAD -- path

如果需要的话)。

(像往常一样,在执行此操作之前确保工作目录的状态是干净的。)

关于git - 如何将特定的 git commit 复制到暂存区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24004516/

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