我想要一些关于我的 git 工作流程的反馈,因为这是我第一次使用它,尽管阅读了各种文章和 Stack Overflow 问题,但我不确定我的流程是否正确。这是我当前的工作流程(请注意,我使用 Github for Windows 应用程序进行所有 git 交互):
- 决定我要实现的下一个特性是什么。
- 为该功能创建一个具有适当描述性名称的分支。我通过单击 Github for Windows 中的分支按钮并输入一个新名称来完成此操作。
- 写一些代码。
- 将这些更改提交到我的新分支。
- 再写一些代码。
- 将这些更改提交到我的新分支。
- 我已经完成了该功能的实现,所以我想将我的更改合并回主分支。所以我点击分支标题下方的“管理”按钮。
- 将新分支合并到主分支。
- 删除新分支。
我对第 7 步之前的过程非常满意,此时我有点困惑。我认为我的困惑在于我试图使用 Github for Windows 应用程序而不是使用命令行。该应用程序似乎确实让事情变得更容易,但我看到的一些命令/指令与您在应用程序中采取的操作之间存在一些脱节。
让我问一些具体的问题:
- 我的工作流程真的正确吗?如果没有,它有什么问题,我该如何改进它?
- 我应该“发布”我对新分支的更改吗?我的理解是,这相当于
git push
在命令行中执行。真的吗?如果是这样,我想我只想在完成该功能的实现或它处于良好状态时才这样做? - 当我将分支合并到主分支时,我应该删除它还是应该永远保留它?
- 完成合并后是否需要发布主分支,或者这是隐含的?
- 我有时无法执行合并并收到此错误消息:
无法合并
无法将“测试”合并到“主”。您可能需要打开一个 shell 并调试此 repo 的状态。
以前发生这种情况时,我能够更改到主分支并将新分支合并到主分支中,但是不再起作用。无论我在哪个分支,我都无法合并这两个分支。两者都是同步的,我已经发布了我的测试分支的所有更改。我应该在 shell 中输入什么来找出为什么我不能合并分支?
作为参考,这些是提示我的过程的主要链接: