git和github的工作流最佳实践?
我一直在为我们的项目使用git和github和我的小团队开发人员。我忍不住想我们做得不对。我很想听听其他人如何在他们的项目中使用这个工作流程。git和github的工作流最佳实践?
我们如何使用它: 我们每次更改之前分支合并回主,本地提交,推动我们的github回购。然后,我们进入我们的测试环境,并拉动github回购的主分支。我们还没有完全掌握rebase
,fetch
或tagging
。
我想怎么使用它: 我希望能够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