繁体   English   中英

如何仅从git存储库中提取特定文件?

[英]How to pull only particular files from a git repository?

我有2个存储库A和B。

我只想将某些文件从存储库A拉到存储库B。

有什么办法吗?

如果您不介意拉整个存储库A(即您不担心出于某种原因节省下载时间),则应该可以拉到另一个分支:

git pull --no-commit <URI for repository A> master:temp-branch

然后,您可以自动合并temp-branch也可以从中合并“ temp-branch选择”提交(如果您确实想合并一些补丁而不是文件,或者文件是在一个或多个便捷的提交中添加的)。

另外,如果您不希望存储库A的历史记录,但是可以将其所有文件放在某个位置也可以:

git clone --depth 1 <URI for repository A> somewhere

Git不是面向文件的SCM。 历史记录是基于树的,因此您不能要求Git从远程存储库中仅签出单个文件。

但是,如果您使用的是存储库浏览器界面(例如Github提供的界面)或gitweb,则可以从远程存储库下载单个原始文件。

如果您要处理文件而不是提交,一种选择是在git之外执行,即使用

files/project_1 # Includes a .git directory at this level.
files/project_2 # Same here.

你可以做

cp files/project_2/your_spec*.* files/project_1/

然后

cd files/project_1
git add .
git commit -m"msg"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM