git和github的工作流最佳实践?

我一直在为我们的项目使用git和github和我的小团队开发人员。我忍不住想我们做得不对。我很想听听其他人如何在他们的项目中使用这个工作流程。git和github的工作流最佳实践?

我们如何使用它: 我们每次更改之前分支合并回主,本地提交,推动我们的github回购。然后,我们进入我们的测试环境,并拉动github回购的主分支。我们还没有完全掌握rebase,fetchtagging

我想怎么使用它: 我希望能够ssh到不同的服务器和拉特定标记的版本,如“阶段1”到服务器中。这是可能的,还是我需要两个不同的github回购?

你是否应该git pull一个特定的分支到Web服务器或创建一个新的别名到git push

你可以在一个git仓库中控制候选版本或环境(测试,开发,生产)吗?或者你需要多个?

如果拉是解决方案,您可以拉特定的tag

回答:

基本上,您可以很好地与一个“中央”GitHub存储库功能。

  • 标签是不可变的指针,它们可以随时使用(并推送),以便检出到任何测试或生产环境。这允许进行一些验证,但通常不会用于开发。
  • 拉一个分支意味着你可以在该分支内部进行一些改进(由于一些错误修正和一旦代码在生产环境中进行调整)并将其推回给所有其他开发人员的存储库供他们撤回并采取考虑到。

因此,这取决于您在这些服务器上所做的事情:只验证(接受或拒绝状态)或进一步开发。
在每种情况下,具有适当命名约定的标签都很适合跟踪历史记录中的特定提交,但每次需要隔离开发工作时都需要分支。

回答:

在GitHub上,我为我的公司使用了一个帐户,这是“有福”的代码所在的地方;然后,我保持一个私人分支,在那里我处理尚不稳定的事情。在我的本地机器上,我可以在一个仓库中处理这两种情况,这样主人就是幸运的代码(并推送到公司账户),而所有其他分支都用于我的分支。这里是我的.git/config中的一部分:

[remote "origin"] 

fetch = +refs/heads/*:refs/remotes/origin/*

url = [email protected]:xiongchiamiov/fourU.git

[branch "hacking"]

remote = origin

merge = refs/heads/hacking

[branch "editor"]

remote = origin

merge = refs/heads/editor

[branch "problem-utils"]

remote = origin

merge = refs/heads/problem-utils

[branch "tests"]

remote = origin

merge = refs/heads/tests

[remote "trunk"]

fetch = +refs/heads/*:refs/remotes/trunk/*

url = [email protected]:xyztextbooks/fourU.git

[branch "master"]

remote = trunk

merge = refs/heads/master

因为我犯的权限为公司回购,我就可以合并(或摘樱桃)从一个分支到另一个承诺,并且将其推到合适的位置。现在,单独的回购当然不是必需的,但由于这是一个开源项目,我喜欢保持“官方”回购免于由我的切线创建的随机分支。一旦它达到了版本控制的地步,就会有一个0.x分支,每个版本都有标签(0.1,0.1.1,0.2等),这是非常有利的,因为github会自动创建文件的tarball在每个标签处,非常适合将特定版本下拉到不需要完整历史记录的机器。

你应该阅读github博客;他们有一些很好的帖子来描述他们的部署工作流程,这当然涉及git。

回答:

阅读Pro Git book。你可以阅读一年的git手册页,但仍然没有得到它:试图通过阅读手册页来学习git就像试图通过阅读字典来学习一种新的语言,它可以完成。本书将教你一些你可以使用git的工作流程,以及使用哪些git命令以及在哪些上下文中使用它们。

以上是 git和github的工作流最佳实践? 的全部内容, 来源链接: utcz.com/qa/264270.html

回到顶部