Git版本控制和分支

时间:2014-07-01 08:46:00

标签: git github bitbucket

这不是代码问题,而是“最佳实践”问题。

我正在使用GitHub和BitBucket,当你拥有将成为你的实时工作代码的主人。

要构建或修复错误,最好创建一个分支吗?

当该分支准备合并时,最好合并然后删除该分支吗?

如果你合并了,你如何记下主人被推出的分支的主人?

提前致谢

3 个答案:

答案 0 :(得分:2)

您可以关注Github Flowgit flow。我使用两者之间的混合,但两者都很好,取决于你的工作方式。

对于Github Flow,你会这样做:

  • 保持master始终可展开;
  • 使用描述性名称创建一个新分支来修复您的错误;
  • 只在那个分支上工作;
  • 根据您的更改打开一个Pull Request;
  • 将其合并到master

对于git flow,你可以这样做:

  • 保持master镜像您的制作环境;
  • 为未部署但已准备好的事物设置develop分支;
  • 标记您的版本,前提是您要在开发中发布更改:
    • git checkout -b release-1.2 develop
    • git checkout master
    • git merge --no-ff release-1.2
    • git tag -a 1.2

然后部署master

对于git flow,当您使用修补程序时,您将在标记新版本之前在单独的分支上提交修复,并合并更改:

  • git checkout -b hotfix-1.2.1 master;
  • 提交你的修复;
  • git checkout master
  • git merge --no-ff hotfix-1.2.1
  • git tag -a 1.2.1
  • git checkout develop
  • git merge --no-ff hotfix-1.2.1

您还可以部署master

答案 1 :(得分:1)

IMO:

  

要构建或修复错误,最好创建一个分支吗?

是的,为每个修正错误,升级或修改创建一个分支。示例:master_bugfixingmybranch_new_feature等等。

编辑:为什么我认为创建分支是个好主意 - Visualized Git practices for team: branch, merge, rebase引用 -

  • 您即将进行重大或颠覆性的变革
  • 您即将进行一些可能未使用的更改
  • 你想尝试一些你不确定它会起作用的东西
  • 当你被告知要分支出去时,其他人可能会有一些他们需要在主人身上做的事情
  

当该分支准备合并时,最好合并然后删除该分支吗?

我总是删除未使用的分支,即已经合并的分支。

  

如果你合并了,你如何记下主人被推出的分支的主人?

您可以在与git merge -m <msg>合并期间添加消息。

分支模型的提示:A successful Git branching model

答案 2 :(得分:1)

  

要构建或修复错误,最好创建一个分支吗?

是的,创建单独的分支以构建或修复您的错误是最佳做法。

  

当该分支准备合并时,最好合并然后删除该分支吗?

这取决于您的项目类型,但是删除已合并的分支没有问题。所有提交仍然可以在历史记录中使用。

  

如果你合并了,你如何记下主人被推出的分支的主人?

再次提交历史记录保存在Git中,因此我们可以跟踪Master分支中的哪个分支。

希望你对你的疑问有足够的澄清。

有关详细信息,请参阅git-scm

谢谢。