我正在寻找一种方法,一旦将功能分支合并到master,就会将更改引入功能分支。目标是使特征分支保持仅包含与其相关的提交。
通常情况下,一个特征在被推到掌握之后需要一些额外的抛光。在此期间对主人所做的更改不会与该功能冲突,这意味着在功能分支上实施其他工作时,可以对实际主数据库进行更改。
下图显示了这种情况:
到目前为止我使用的方法:Rebase to master并将功能合并回主人
反对 - >功能分支现在使用来自master的部件。
问题: 您在实践中采取了哪些方法来解决这个问题?
示例代码
帮助描述以下方法是从示例中创建repo结构的代码。
# mkdir test
git init
touch master-change-file
git add master-change-file
git commit -m "initial commit"
echo 1 > master-change-file
git commit -a -m "master commit 1"
echo 2 > master-change-file
git commit -a -m "master commit 2"
git checkout -b feature
echo 3 > feature-change-file
git add feature-change-file
git commit -a -m "feature commit 1"
echo 4 > feature-change-file
git commit -a -m "feature commit 2"
echo 5 > feature-change-file
git commit -a -m "feature commit 3"
git checkout master
git merge --no-ff feature -m "Merge branch 'feature'"
git checkout feature
echo 6 > feature-change-file
git commit -a -m "feature commit 4"
echo 7 > feature-change-file
git commit -a -m "feature commit 5"
git checkout master
echo 8 > master-change-file
git commit -a -m "master commit 3"
echo 9 > master-change-file
git commit -a -m "master commit 3"
# gitk --all