我理想的工作流程是将更改提交到 dev
并且仅通过 git merge --no-ff dev
将更改 merge 到 master,但偶尔会发生以下情况:
在开发中
dev: git add .
dev: git commit -m "Cured cancer."
dev: git checkout master
master: git merge --no-ff dev
再写一些代码
master: git commit -a -m "Did something amazing"
哎呀,刚刚致力于掌握。如果幸运的话,我会立即意识到这一点,但如果没有,我可以将分支推到上游,并在顶部再进行 10 次更改。所以这最终在远程:
Master -------- Merge --- commit - commit --------------- Merge
Dev \ Commit/ \ commit - commit /
虽然它应该是这样的:
Master -------- Merge ------------- Merge --------------------- Merge
Dev \ Commit/ \ commit commit / \ commit - commit - commit /
我怎样才能消除人为因素(即我的愚蠢)并阻止自己提交到 master 分支?我在 Ubuntu 上。
最佳答案
这不是万无一失的解决方案,但您可以安装 git-completion.bash 并使用其 PS1 增强功能来显示当前分支(和其他有用的内容)作为命令提示符的一部分。参见 here寻求解释。
这不会阻止您提交给 master,但会让您很难忘记自己所在的分支。
关于git - 我怎样才能阻止自己提交到 git 的 master 分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7703345/