我一直致力于一个由两个不同子项目(A和B)组成的项目,每个子项目都有自己的分支。
/projectA
/subprojectA
fileA.py
/subprojectB
fileB.py
假设我一直在处理"subprojectA"
分支,并修改了属于subprojectA
和subprojectB
的文件(本例中为fileA.py
和fileB.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>
怎么可以这样做?我怎么能说“从我修改过的所有文件中,只在这个分支中包含这些特定文件”和“获取其他文件,将它们带到另一个分支并在那里提交”?
答案 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"