You wrote:
If changes to the ' dev_newfeaturename ' branch are more complex, several commits in the history are required:
- Switch to
dev_newfeaturename branch: git checkout dev_newfeaturename - Recover any modified
master code in dev_newfeaturename : git rebase --interactive master - To clear history by combining commits, change the operation from “pick” to “squash”, which issues a second commit to the first
- Switch to
master branch: git checkout master - Push changes to remote '
master : git push origin master
I think you forgot the fast merge of ' dev_newfeaturename ' into ' master :
The rebase function allows you to play ' dev_newfeaturename ' on top of ' master , clearing commits in this process. It's good. But if you want to push the wizard to a remote computer, the wizard needs to clear it in its history: `git merge dev_newfeaturename
As for the branch to the state of development (staging, prod), I would not recommend this approach, unless you are actively creating new commits in these branches. Remember the no-ff suggestion in the article you are referencing:
The only remaining argument for –no-ff is "documentation."
People can use merge commands to represent the latest deployed version of production code.
This is an antipattern. Use tags .
source share