使用 GIT 如何将不同提交中的文件签出到新分支中? [复制]
Posted
技术标签:
【中文标题】使用 GIT 如何将不同提交中的文件签出到新分支中? [复制]【英文标题】:Using GIT how do I checkout files from different commits into a new branch? [duplicate] 【发布时间】:2021-02-08 18:34:08 【问题描述】:libidn2 的 punycode 测试在头部被破坏(仅 ASCII 的情况失败。)
我创建了一个新的 LOCAL 分支来尝试确定它上次工作的时间,但我需要从头部检查 idn2.h,以及 puny_encode.c、puny_decode.c、punycode.h 和 tests/test-punycode.c每个(可能)来自不同的提交!
我如何做到这一点并在我新创建的测试分支中获得所有这些?我通常使用 Mercurial,所以我不得不对我需要的每个 git 命令进行网络搜索,这越来越令人沮丧!
【问题讨论】:
您会在这里找到答案:How can I reset or revert a file to a specific revision?。 “我不得不对我需要的每个 git 命令进行网络搜索,这越来越令人沮丧!”并且为每个 git 命令询问 Stack Overflow 更好吗?说真的,我认为最好的方法是暂停十五到二十分钟,了解一下 git。 【参考方案1】:在最方便的地方创建一个分支,然后从其他分支/修订中签出单个文件
git checkout -b new-branch starting-point # starting point can be a branch or revision
git checkout branch1 -- file1 file2
git checkout branch2 -- file3 file4
您要拉入当前位置的分支/文件之间没有历史关系,所以您知道....您可能已经手动编辑了这些文件,以便在将它们从其他分支中获取后得到它们的方式, 对 git 来说没有区别。
【讨论】:
以上是关于使用 GIT 如何将不同提交中的文件签出到新分支中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章