Git 带壁球的工作流短期特性分支
Git Workflow short-lived feature branch with squash
我对以下 git 工作流程有疑问:
- checkout master
- pull -r origin master
- checkout new_feature
- rebase master
- checkout master
- merge --squash new_feature
- commit -m "F"
- push origin master
现在您将得到以下设置,假设一些提交 C,D,E 发生在 new_feature 分支机构:
Master A --B --------------- F
\
new_feature \ -- C -- D -- E
Local Master 和 Origin Master 指向 F。 F 提交涉及 C,D,E.
现在我想删除 new_feature 分支 运行ning:
branch -d new_feature
错误:分支'new_feature'没有完全合并。
如果确定要删除,运行 'git branch -D new_feature'.
为什么我在这里得到错误,为什么 git 不知道分支已经完全合并,只是用 squash 命令?
(即使 git diff 也没有显示出任何差异)
好吧,使用这些命令 new_feature 分支不会正式 合并,因为它不是合并提交的父节点。 git 不会检查的是您的更改实际上已被合并。你知道,但对于 git 来说,知道起来并不容易。
我试过你的工作流程,然后我又重新合并了压缩合并的分支,然后就可以删除了。
这实际上不是一个错误,它是一个检查以防止您丢失您的工作。
我对以下 git 工作流程有疑问:
- checkout master
- pull -r origin master
- checkout new_feature
- rebase master
- checkout master
- merge --squash new_feature
- commit -m "F"
- push origin master
现在您将得到以下设置,假设一些提交 C,D,E 发生在 new_feature 分支机构:
Master A --B --------------- F
\
new_feature \ -- C -- D -- E
Local Master 和 Origin Master 指向 F。 F 提交涉及 C,D,E.
现在我想删除 new_feature 分支 运行ning:
branch -d new_feature
错误:分支'new_feature'没有完全合并。 如果确定要删除,运行 'git branch -D new_feature'.
为什么我在这里得到错误,为什么 git 不知道分支已经完全合并,只是用 squash 命令?
(即使 git diff 也没有显示出任何差异)
好吧,使用这些命令 new_feature 分支不会正式 合并,因为它不是合并提交的父节点。 git 不会检查的是您的更改实际上已被合并。你知道,但对于 git 来说,知道起来并不容易。
我试过你的工作流程,然后我又重新合并了压缩合并的分支,然后就可以删除了。
这实际上不是一个错误,它是一个检查以防止您丢失您的工作。