我有两个分支
两者都有相同的文件夹结构。
如何将主分支中的一个文件夹合并到发布分支,比如folder1
发布于 2014-11-24 11:05:46
根据评论中的讨论,我假设有两件事:
folder1和folder2的变化是独立的。folder1是这样)。随后,以下指令将覆盖对发布分支上的folder1所做的任何更改。他们基本上将folder1中的文件从master复制到release。
去看看release分公司。
git checkout release然后,从主分支签出folder1中的所有文件。这样做,release就会离开签出的分支。此外,所有这些文件都会被添加到暂存索引中。
git checkout master -- folder1提交变更。
git commit -m "Copy over changed files in folder1 from master branch."发布于 2014-11-17 12:24:59
因为对这两个文件夹的更改是独立的,所以git的方法应该是将更改保存在两个单独的分支中,而不是将它们复制到一个主分支。这样你就可以只在其中一个分支中合并。
现在,你怎么能得到两个分支的状态?您将需要在开发更改时提交,即最后一个合并到发行版中的提交。使用git log查找提交id。这应该是主分支的一个提交。然后在那里创建一个标记:
git checkout <commit id>
git tag begin_of_new_development签出主分支并创建一个新的签出分支f1
git checkout master
git checkout -b f1然后在新分支上使用交互式重基删除与folder_1无关的提交
git rebase -i begin_of_new_development从列表中删除所有不适用于folder_1的提交。
现在应该留给您一个分支f1,您可以将其合并到release分支中。如果您对folder_2也这样做,那么以后也可以将这些更改合并到发行版中。但是,请注意,不要在f1和f2中保留一个提交,因为重基会为它们提供新的提交in,因此git无法知道它们包含相同的更改。而且,您不能再将master合并到release中了。
https://stackoverflow.com/questions/26887209
复制相似问题