【发布时间】:2016-10-12 16:35:12
【问题描述】:
如何创建对 git subtree 的本地更改,然后将这些更改推送到子树存储库中的分支,以便我可以创建拉取请求以将该分支中的更改合并到子树的 master?
假设我有两个 repos,project 和 protocols,它们都在我的控制之下。
第 1 步:将 protocols 添加为 subtree 在 project 存储库中
$ git remote add protocols git@bitbucket.org:corp/protocols.git
$ git remote
origin
protocols
$ git subtree add --prefix=protocols protocols master --squash
...
From bitbucket.org:corp/protocols
* branch master -> FETCH_HEAD
* [new branch] master -> protocols/master
Added dir 'protocols'
第 2 步:在 project 存储库中对 protocols 子树中的文件进行一些更改
$ cd protocols
$ echo "foo" > some_file
$ git commit -a -m "added foo"
第 3 步:在 protocols 存储库中创建一个分支,并将我的本地更改从 project/protocols 子树推送到该分支
??
我不确定如何最好地实现这一目标...
一旦我的subtree 更改已成功推送到远程protocols 存储库中的分支,我就可以创建一个拉取请求以将这些更改合并回protocols master。
问题:
我有一个
protocols的本地副本。我是否应该更改到该存储库,创建一个分支,然后更改回project并将subtree更改推送到我的本地protocols存储库?我可以将
subtree更改直接推送到我的本地protocols存储库中的新分支(尚未创建)吗?我可以将
subtree更改直接推送到远程protocols存储库中的新分支(尚未创建)吗?这是推荐的工作流程吗?
【问题讨论】:
标签: git git-subtree