单个开发人员的Github工作流程

Stu*_*ole 13 git workflow github github-for-windows

我想对我的git工作流程提供一些反馈,因为这是我第一次使用它,尽管阅读了各种文章和Stack Overflow问题,但我不确定我的流程是否正确.这是我当前的工作流程(请注意,我正在使用Github for Windows应用程序进行所有git交互):

  1. 确定我将要实现的下一个功能.
  2. 创建一个具有适当描述性名称的分支.我通过单击Github for Windows中的分支按钮并键入新名称来完成此操作.
  3. 写一些代码.
  4. 将这些更改提交给我的新分支.
  5. 写一些代码.
  6. 将这些更改提交给我的新分支.
  7. 我已经完成了该功能的实现,因此我想将我的更改合并回主分支.所以我点击分支标题下面的"管理"按钮.
  8. 将新分支合并到主分支中.
  9. 删除新分支.

我对这个过程非常满意,直到第7步,我有点困惑.我认为我的困惑在于我正在尝试使用Github for Windows应用程序而不是使用命令行.该应用程序确实使事情变得更容易,但我对我提到的一些命令/指令与您在应用程序中将采取的操作之间的理解存在一些脱节.

让我问一些具体问题:

  1. 我的工作流程是否正确?如果没有,它有什么问题,我该如何改进呢?
  2. 我应该将我的更改"发布"到新分支吗?我的理解是,这相当于git push在命令行执行.真的吗?如果是这样的话,我想我只想在完成功能实现或处于体面状态时才这样做?
  3. 我是否应该在将其合并到主分支中时删除分支,还是应该永久保留?
  4. 完成合并后是否需要发布主分支?这是隐含的吗?
  5. 我有时无法执行合并并收到此错误消息:

    无法合并

    无法将'test'合并到'master'中.您可能需要打开shell并调试此repo的状态.

当之前发生这种情况时,我能够更改为主分支并将新分支合并到主分支中,但不再起作用.无论我在哪个分支,我都无法合并这两个分支.两者都是同步的,我已经发布了测试分支的所有更改.我应该在shell中输入什么来找出为什么我不能合并分支?

作为参考,这些是促使我的过程的主要链接:

  1. Scott Chacon关于Gitub的工作流程
  2. Git本地存储库上的单个开发人员的工作流程
  3. 单个用户的Git工作流程

ilt*_*mpo 5

您所描述的内容听起来像是一个常见的分支工作流程,即使对于同一代码库上的多个开发人员来说也能很好地工作。它几乎完全被git flow覆盖,它是 git 命令行的扩展,用于自动化某些步骤。值得一看。

我不太喜欢 git 的 UI 工具。我大部分时间都在使用命令行。所以我对 Windows 版 GitHub 没有经验。但我敢打赌,您出现问题的原因是您的合并不再快进。这将需要手动合并步骤(据我所知)该工具未涵盖该步骤。

将分支合并到上游后,没有充分的理由保留它们。但其中之一是跟踪某个功能的提交内容。如果您决定保留分支,我建议您发布它们。您不依赖于本地计算机上的代码。保留树枝并不会让你的存储库变得更大,但会污染视线。大多数情况下,提交无论如何都存在于上游分支中。

合并后,您必须发布(推送)您的主分支。

为了熟悉 git 命令行工具,我建议从 GitHub 人员的Git 和 GitHub 简介开始,并按照他们的链接参考了解更多详细信息。

希望有帮助