我已经令和审查与我的小队的人我们的项目。我不能不认为,我们不这样做是正确的。我有兴趣听取其他人如何使用这一工作流程内他们的项目。

我们如何使用它: 我们支之前的每一个变化,合并成为主,承诺在本地,并推动我们想回购。然后,我们ssh到我们的测试环境和拉的主支想回购。我们还没有完全抓住了 rebase, fetchtagging 只是还没有。

我怎么会喜欢用: 我想要能够ssh到不同的服务器和拉的一个具体标记的版本,如"第1阶段"进入服务器。这是可能的,或者,我需要两个不同的审查repos?

是你应该 git pull一个具体的分支的成的网络服务器或者创建一个新的别名 git push 来?

你可以控制释放候选人或环境(试验、研发、生产)内的一个git仓库?或者你需要多?

如果拉是解决方案,你可以拉一个特定的 tag ?

有帮助吗?

解决方案

基本上,你可以很好的功能有一个"中心"审查存储库。

  • 标签是不可改变的指针,它们可以使用(和推)的任何时间,以便进行检查出来的任何测试或者生产环境。允许某些验证采取但通常不提供用于发展。
  • 拉一支意味着你可以做一些变化在该分支(由于一些修正和调整,使一旦代码是在生产环境中),并把它推回的所有其他开发的储存库,为他们拉回来,并考虑。

因此,它取决于你是什么做那些服务器:只验证(地位接受或拒绝的),或者还进一步的事态发展。
在每种情况下,一个标记一个适当的命名约定是好的,跟踪具体的承诺的历史,但分支机构都是必要的,每次你需要隔离的发展努力。

其他提示

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

在GitHub上,我为我的公司使用了一个帐户,这是“祝福”的地方。代码生活;然后我保留了一个私人的分支,我在那里处理那些不太稳定的东西。在我的本地机器上,我在一个仓库中处理两个,因此master是受祝福的代码(并推送到公司帐户),而所有其他分支都是我的fork。这是我的.git / config的一部分:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@github.com: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 = git@github.com:xyztextbooks/fourU.git
[branch "master"]
        remote = trunk
        merge = refs/heads/master

由于我已经为公司仓库提交了权限,因此我可以将提交从一个分支合并(或樱桃选择)到另一个分支,并将其推送到适当的位置。现在,单独的repos当然不是必需的,但由于这是一个开源项目,我喜欢保持“官方”。 repo没有由我的切线创建的随机分支。一旦它到达版本控制点,将有一个0.x分支,每个版本都有标签(0.1,0.1.1,0.2等),这是特别有利的,因为github自动创建文件的tarball在每个标签上,非常适合将特定版本下载到不需要完整历史记录的机器上。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top