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