如何选择在两个不同的分支(子项目)中提交哪些文件?

时间:2014-02-09 11:51:00

标签: git

我一直致力于一个由两个不同子项目(A和B)组成的项目,每个子项目都有自己的分支。

/projectA
    /subprojectA
        fileA.py
    /subprojectB
        fileB.py

假设我一直在处理"subprojectA"分支,并修改了属于subprojectAsubprojectB的文件(本例中为fileA.pyfileB.py)。

因此,如果我在分支git status上做subprojectA(例如),我会看到以下内容:

$ git status

# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   project/subprojectA/fileA.py
#   modified:   project/subprojectB/fileB.py

当我在subprojectA时,我只需要提交属于branch A的文件,然后更改为branch B并仅提交属于subproject B的文件。< / p>

怎么可以这样做?我怎么能说“从我修改过的所有文件中,只在这个分支中包含这些特定文件”和“获取其他文件,将它们带到另一个分支并在那里提交”?

1 个答案:

答案 0 :(得分:1)

确保你在其中一个项目的分支上,让我们说

git checkout proA/featureX

添加更改并提交

git add subprojectA  # assuming you're in the repo's top level folder
git commit -m "Glorious updates to A"

更改为其他分支,并执行相同的操作

git checkout proB/fixing-Y
git add subprojectB
git commit -m "Fabulous bugfixes to B"