git - 将文件从一个存储库的特定提交/哈希复制到另一个(不相关)存储库

标签 git copy

我有两个不相关的存储库,AB。我希望从 A 中获取特定提交/哈希/标签的特定文件,并将其复制到 B 中。

我本地有 AB,即都是克隆的。

到目前为止,我唯一的方法是转到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/

相关文章:

postgresql - Postgres - 复制(去除双引号)

linux - 在 Unix 上复制所有子目录及其内容的最安全方法是什么?

Android build java.lang.NullPointerException (无错误信息) org.gradle.api.ProjectConfigurationException BUILD FAILED

git - 在 U 盘上使用 GIT 获取 "travelling code"

git - 从 Git 存储中查找并提取文件

python - 在 dotdict 上使用 copy.deepcopy

git - 我可以通过链接共享我的私有(private) GitHub 存储库吗?

Git 预提交 Hook : Prevent commits that change particular files

java - 如何在java中复制粘贴和剪切粘贴文件或文件夹?

ios - 如何确定用户何时复制了文本