Git工作流程两个开发人员远程,最佳实践?

时间:2014-07-30 04:28:54

标签: ruby-on-rails git version-control

我知道这个问题已经被提出了许多不同的形式,但我还没有看到我想要的配置,所以我把它扔到那里。

我想要的是什么:
1.主人的2个克隆,所以每个都有自己的整个项目版本,这样一个子域可以进入他当前的工作,另一个子域进入我的工作,这样我们就可以看到我们提交的更改并推送到远程我们各自的远程克隆中的服务器。

  1. 我们都有自己的本地版本的远程文件夹/克隆。
  2. 基本上我们都有自己的分支,我们都不会承诺到主分支。在这种情况下,我的个人分支可以被认为是主人,因为我希望他能够做出改变,我能够在他的子域上看到并测试它们,然后将它们合并到我自己的分区中。

    我还希望他能够将我最近提交的远程服务器提交到他自己的远程克隆中,然后再将其提交到他的本地计算机上,以便他总是拥有我的最新代码。

    这方面的最佳做法是什么?截至目前,这是我们一直在做的事情,这是一个巨大的麻烦,让我讨厌git。

    1. 我在本地进行更改,提交它们,然后推送到同一分支的远程文件夹。
    2. 他将本地文件夹/分支与我所做的远程提交合并。
    3. 他在当地做的任何提交然后他提交到他的远程分支/子域。 (这应该意味着他的远程分支还包括我合并的更改,因为他的远程文件夹应该是他本地计算机的精确副本)。
    4. 经过检查和测试,我说功能已完成,然后我合并到我的本地分支/文件夹
    5. 我推送到我的远程分支/文件夹,所有内容都可以在我的域中查看。
    6. 这不是正确的做事方式吗?任何建议或建议都非常感谢!

      要点是我们每个人都有自己的分支,并且可以为功能创建额外的分支并将它们合并到我们自己的分支中。此外,我们每个人都拥有服务器上本地计算机的完全副本副本,这些副本位于网络服务器通过子域指向的不同文件夹中,因此可以在不同的状态下同时查看这些副本。

      我提前道歉,我只想尽可能清楚。

1 个答案:

答案 0 :(得分:1)

你写的不可扩展 - 添加第三个开发人员,然后你做了什么?

相反,请拥有以下分支:

  • master(始终清理,仅用于部署到生产服务器)
  • 分期(总是干净)
  • 接受(凌乱)

您可以从分段创建新分支:

git checkout staging
git pull
git checkout -b feature/JF_my_new_feature_20141018

(使用一组唯一的首字母,以便您知道谁编写了分支,并为分支添加日期戳。)

当您对分支感到满意(并且测试运行正常)时,您将合并到接受并在那里运行测试。当您的同事(或您的QA团队或其他任何人)已经证实分支是好的时,您将其合并到分期中。

每个人总是从分段创建新的分支,并且没有人在没有其他人竖起大拇指的情况下合并到分段中。