SourceTree finish feature with rebase - CLI 等效
SourceTree finish feature with rebase - CLI equivalent
我已经使用 SourceTree to perform all GitFlow 操作一段时间了,包括关闭 feature
个分支。
现在我想更好地了解如何通过 git CLI 执行一些操作。
特别是,我不明白在 CLI 中通过选择 rebase 选项来关闭一个功能有什么等价物,如下图所示。
我试过合并,但并没有重现整个过程,请问CLI命令是什么来执行与SourceTree执行的操作相同的操作?
大多数 GitFlow 工具源自的原始命令行建议可以在原始博客 post 文章中找到:
https://nvie.com/posts/a-successful-git-branching-model/#incorporating-a-finished-feature-on-develop
关闭功能分支包括以下步骤:
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
SourceTree 中的复选框选项可能会执行一个额外的步骤,即在合并之前将当前功能分支重新定位到开发分支的头部。如果您不熟悉 git rebase
操作,建议您先阅读此处:
https://git-scm.com/docs/git-rebase
注意: 虽然 rebase 操作是一个完全正常的工作流程,但我几乎每天都使用它,如果你是第一次使用它,它可能会导致问题,特别是如果您正在处理的功能分支与开发分支上的内容之间存在冲突。我鼓励您单独尝试以下操作以适应正在发生的事情。
因此,从上方查看 "normal" 功能工作流的完成,您可以执行如下操作:
$ git checkout myfeature
Switched to branch 'myfeature'
$ git rebase develop
Replay commits from myfeature branch onto the head of the current develop branch
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
如果您查看变基操作前后 git 存储库的历史记录,您应该能对正在发生的事情有所了解。如果您仍然不确定,您可能想使用如下内容:
http://git-school.github.io/visualizing-git
这将帮助您可视化正在发生的 git 操作。
我已经使用 SourceTree to perform all GitFlow 操作一段时间了,包括关闭 feature
个分支。
现在我想更好地了解如何通过 git CLI 执行一些操作。
特别是,我不明白在 CLI 中通过选择 rebase 选项来关闭一个功能有什么等价物,如下图所示。
我试过合并,但并没有重现整个过程,请问CLI命令是什么来执行与SourceTree执行的操作相同的操作?
大多数 GitFlow 工具源自的原始命令行建议可以在原始博客 post 文章中找到:
https://nvie.com/posts/a-successful-git-branching-model/#incorporating-a-finished-feature-on-develop
关闭功能分支包括以下步骤:
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
SourceTree 中的复选框选项可能会执行一个额外的步骤,即在合并之前将当前功能分支重新定位到开发分支的头部。如果您不熟悉 git rebase
操作,建议您先阅读此处:
https://git-scm.com/docs/git-rebase
注意: 虽然 rebase 操作是一个完全正常的工作流程,但我几乎每天都使用它,如果你是第一次使用它,它可能会导致问题,特别是如果您正在处理的功能分支与开发分支上的内容之间存在冲突。我鼓励您单独尝试以下操作以适应正在发生的事情。
因此,从上方查看 "normal" 功能工作流的完成,您可以执行如下操作:
$ git checkout myfeature
Switched to branch 'myfeature'
$ git rebase develop
Replay commits from myfeature branch onto the head of the current develop branch
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
如果您查看变基操作前后 git 存储库的历史记录,您应该能对正在发生的事情有所了解。如果您仍然不确定,您可能想使用如下内容:
http://git-school.github.io/visualizing-git
这将帮助您可视化正在发生的 git 操作。