2017-05-07 79 views
0

我有两个Git仓库,ABGit - 将变更从子模块推送给主模块?

A是,其他项目都爱用的库。它只有一个分支master

B中,我添加了A作为子模块,因此它将它克隆到B的目录中。 HEAD不是分离的,因为我说跟踪分支master添加时。

在我的项目B里面,我注意到A的代码中存在一个错误。我更改子模块A(位于B的目录内的克隆代码)内的代码。我现在想要将我对A所作的更改从B中提交到A的主分支,而使B仍然为零。

这怎么办?

Ex。

Projects 
|---A     # Existing repository. On branch master. 
|---B     # Repository just created. 


git init 
git submodule add -b master ../A 
git submodule update --remote 
cd A/ 
vi importantFile.txt # Here I make changes to internal files in A 
# How do I now commit those changes and add a commit to A? 

回答

1

你可以只子模块的文件夹中执行git的命令,它将被应用到子模块。你只需要确保那里的主人是最新的,而你并不处于独立的头部模式。

但是,为了更新主项目的子模块(所以如果其他人使用子模块检出主项目,更新的版本),您肯定需要在那里进行提交以提升版本。

延伸阅读:Git commit to common submodule (master branch)