在两个不同开发者的电脑上使用 Gitflow

Use Gitflow on two different developers' computer

我在我的电脑上使用 gitflow 来开发我的代码。存储库托管在 gitlab 的自托管实例上。我使用的客户端是 Sourcetree.

我创建新项目的过程是使用其Web界面在gitlab上创建项目的主要分支。然后我在我的 PC 上克隆主分支并使用 Sourcetree 按钮初始化 gitflow:最后我有两个名为 maindevelop 的本地分支,如果我使用 Sourcetree 中的工具启动一个新功能它创建了 $FEATURE_NAME 分支,我可以在那里工作直到完成该功能,我可以再次使用 Sourcetree 工具来结束该功能并在开发时合并分支。

此时我开始开发开发分支,并将分支本身推送到 gitlab 以启用共享。

现在我想使用 gitflow 并利用另一台 PC 上的 sourcetree 集成,但我真的不明白我应该如何进行:我可以从 gitlab 克隆项目,但我必须选择我想要的分支。

我的第一个困难是克隆主分支和开发分支,但后来我会错过 Sourcetree gitflow 集成:我尝试过但没有初始化 gitflow,所以我无法从 Sourcetree 启动新功能。

我应该遵循的正确程序是什么?

Git 是去中心化的。每个开发人员都有自己完整的存储库副本,但为了与其他人共享代码,您需要将您的更改与中央“源”同步。 Git实验室是你的“原点”。

Gitflow 是关于从 develop 创建一个功能分支并将其合并回去。但是在分布式模型中,我们通过创建拉取请求将我们的功能分支合并回开发中来增强 gitflow。

推荐流程:

  1. 克隆存储库
  2. 切换到开发分支
  3. 从开发中创建一个功能分支
  4. 将你的功能分支推送到原点
  5. 使用 gitlab 为您的代码创建拉取请求
  6. pr完成后,切换本地分支到develop
  7. 从源中拉取最新的
  8. 删除本地功能分支

不断重复 3-8。

如果您希望其他人使用您的功能,请从克隆存储库开始。你只需要这样做一次。

  1. 从 gitlab 获取最新更改:git fetch
  2. 将您的分支切换到功能分支:git checkout feature/x
  3. 使用git添加/提交/推送以使用您的更改更新来源
  4. 使用 git pull 将他们的更改获取到您的机器。

根据@blacktide ,解决方案是先将存储库指向GitLab,然后执行git 流初始化不会重新创建分支。 Git 将识别出开发分支在 origin 上可用,并将签出该分支的新本地副本。