Git从具有历史记录的远程分支签出文件

时间:2018-12-07 04:38:39

标签: git

我正在使用merge将一个项目合并到另一个项目,并且由于冲突而删除一些文件时,我可以从临时创建的分支中检出文件,但是我需要维护历史记录。是否可以检出带有历史记录的文件。

遵循的步骤

git remote add tmpmerge <giturl>
git fetch tmpmerge
git merge tmpmerge/branch --allow-unrelated-histories

按照上述步骤操作时,某些文件将被删除(10个文件,共327个文件)。

我想使用历史记录从temp分支tmpmerge / branch中检出文件,我可以使用以下命令检出文件

git checkout tmpmerge/branch -- <filepath>

我需要使用history签出文件。请让我知道是否可以这样做。预先感谢

1 个答案:

答案 0 :(得分:1)

您无法检出SVN或CVS之类的文件,但可以使用git show [commit]:[file]来查看它们

示例
git show c50ec5a:./src/main/java/com/demo/myx/DemoServiceApplication.java在提交DemoServiceApplication.java时检索c50ec5a

通过此结果,您可以像> file_output一样将file_output附加到git show c50ec5a:./src/main/java/com/demo/myx/DemoServiceApplication.java > file_output以保存结果

,您可以使用gitk --follow [file]来检索文件的完整历史记录。
示例
gitk --follow ./src/main/java/com/demo/myx/DemoServiceApplication.java