我有两个不相关的存储库,A
和 B
。我希望从 A
中获取特定提交/哈希/标签的特定文件,并将其复制到 B
中。
我本地有 A
和 B
,即都是克隆的。
到目前为止,我唯一的方法是转到A
, checkout 所需的提交,返回B
并执行cp path_to_repo_A/file path_to_repo_B/文件
最佳答案
您可以在存储库 A 中使用 git show "[commit/hash/tag]:[file]"
从 git 打印文件的内容,而无需将其 checkout 。然后您可以将其传递到存储库 B 中的文件。
例如将 README.md
复制到 main
分支上:
cd A
git show "main:README.md" > ../B/README.md
cd ../B
git add README.md
git commit
您可能还会发现 git 的 -C
选项很有用 - 它可以让您指定 git 的工作路径,而无需 cd
到它:
cd B
git -C ../A show "main:README.md" > README.md
git add README.md
git commit
关于git - 将文件从一个存储库的特定提交/哈希复制到另一个(不相关)存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71483126/