git - Git 从具有历史记录的远程分支签出文件
问题描述
我正在使用合并将一个项目合并到另一个项目,并且在合并时由于冲突而删除了一些文件,我可以从我临时创建的分支中签出文件,但我需要维护历史记录。是否可以签出具有历史记录的文件。
遵循的步骤
git remote add tmpmerge <giturl>
git fetch tmpmerge
git merge tmpmerge/branch --allow-unrelated-histories
在执行上述步骤时,一些文件被删除(10 个文件和总共 327 个文件)。
我想用历史记录从临时分支 tmpmerge/branch 签出文件,我可以使用以下命令签出文件
git checkout tmpmerge/branch -- <filepath>
我需要用 history 签出文件。请让我知道是否有可能做到这一点。提前致谢
解决方案
您无法签出某些文件,例如 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
。
推荐阅读
- python - 未找到隧道错误 Pyngrok streamlit collab
- python-3.x - 刮板无法突然运行并且显示驱动程序未定义
- swift - 使用大标题时的部分搜索更新框架
- java - 如何解决`遇到
在第 1 行 ...` 问题 - java - Files.probeContentType() 在 OpenJDK 11 上返回 null
- mysql - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' 。安装后出错
- c# - 如何在 asp.net 核心中找到具有特殊命名空间的控制器
- angular - 带有 rxjs 计时器的 Angular 服务...需要主题吗?
- python - python中字符串终止文字的逻辑(即单引号和双引号)
- javascript - github操作失败,无法找到文件?