如何使用SourceTree克隆单个文件?

时间:2015-11-13 13:20:39

标签: git atlassian-sourcetree

假设我有两个与在线回购同步的项目:

  • 项目 - 由文件A1,A2,A3(repo-A)组成的
  • 项目 - B由文件B1,B2,B3(repo-B)组成

现在,如果我在Project-B中需要A2,如何使用SourceTree将repo-A中的文件A2克隆到Project-B?

1 个答案:

答案 0 :(得分:1)

我认为解决方案可能是使用git子模块。参考:https://git-scm.com/docs/git-submodule

子模块可帮助您使用现有仓库嵌套另一个仓库。我看到的唯一(可能)缺点是,它将创建一个包含子项目的文件夹(在文件夹B中的文件夹A中)。我认为这应该不是问题。

步骤进行:

  1. (请确保您的git项目目录是干净的,因为我们使用下面的git reset HEAD
  2. cd path / to / main-project
  3. git submodule add http://url-to-subproject
  4. touch .gitignore
  5. 将子模块项目文件夹名称添加到文件中。例如,如果您的子模块文件夹为'a',则添加a/*
  6. git reset HEAD
  7. 运行git diff时,您仍应看到.gitmodules和.gitignore。
  8. 提交这些文件。
  9. USAGE: 如果您只想将子项目cd更新到其中,然后在子项目文件夹中运行git fetchgit pull(从远程拉取正常操作)。

    希望这会有所帮助。