在两个不同开发者的电脑上使用 Gitflow
Use Gitflow on two different developers' computer
我在我的电脑上使用 gitflow 来开发我的代码。存储库托管在 gitlab 的自托管实例上。我使用的客户端是 Sourcetree.
我创建新项目的过程是使用其Web界面在gitlab上创建项目的主要分支。然后我在我的 PC 上克隆主分支并使用 Sourcetree 按钮初始化 gitflow:最后我有两个名为 main
和 develop
的本地分支,如果我使用 Sourcetree 中的工具启动一个新功能它创建了 $FEATURE_NAME
分支,我可以在那里工作直到完成该功能,我可以再次使用 Sourcetree 工具来结束该功能并在开发时合并分支。
此时我开始开发开发分支,并将分支本身推送到 gitlab 以启用共享。
现在我想使用 gitflow 并利用另一台 PC 上的 sourcetree 集成,但我真的不明白我应该如何进行:我可以从 gitlab 克隆项目,但我必须选择我想要的分支。
我的第一个困难是克隆主分支和开发分支,但后来我会错过 Sourcetree gitflow 集成:我尝试过但没有初始化 gitflow,所以我无法从 Sourcetree 启动新功能。
我应该遵循的正确程序是什么?
Git 是去中心化的。每个开发人员都有自己完整的存储库副本,但为了与其他人共享代码,您需要将您的更改与中央“源”同步。 Git实验室是你的“原点”。
Gitflow 是关于从 develop 创建一个功能分支并将其合并回去。但是在分布式模型中,我们通过创建拉取请求将我们的功能分支合并回开发中来增强 gitflow。
推荐流程:
- 克隆存储库
- 切换到开发分支
- 从开发中创建一个功能分支
- 将你的功能分支推送到原点
- 使用 gitlab 为您的代码创建拉取请求
- pr完成后,切换本地分支到develop
- 从源中拉取最新的
- 删除本地功能分支
不断重复 3-8。
如果您希望其他人使用您的功能,请从克隆存储库开始。你只需要这样做一次。
- 从 gitlab 获取最新更改:
git fetch
- 将您的分支切换到功能分支:
git checkout feature/x
- 使用git添加/提交/推送以使用您的更改更新来源
- 使用 git pull 将他们的更改获取到您的机器。
根据@blacktide ,解决方案是先将存储库指向GitLab,然后执行git 流初始化不会重新创建分支。 Git 将识别出开发分支在 origin 上可用,并将签出该分支的新本地副本。
我在我的电脑上使用 gitflow 来开发我的代码。存储库托管在 gitlab 的自托管实例上。我使用的客户端是 Sourcetree.
我创建新项目的过程是使用其Web界面在gitlab上创建项目的主要分支。然后我在我的 PC 上克隆主分支并使用 Sourcetree 按钮初始化 gitflow:最后我有两个名为 main
和 develop
的本地分支,如果我使用 Sourcetree 中的工具启动一个新功能它创建了 $FEATURE_NAME
分支,我可以在那里工作直到完成该功能,我可以再次使用 Sourcetree 工具来结束该功能并在开发时合并分支。
此时我开始开发开发分支,并将分支本身推送到 gitlab 以启用共享。
现在我想使用 gitflow 并利用另一台 PC 上的 sourcetree 集成,但我真的不明白我应该如何进行:我可以从 gitlab 克隆项目,但我必须选择我想要的分支。
我的第一个困难是克隆主分支和开发分支,但后来我会错过 Sourcetree gitflow 集成:我尝试过但没有初始化 gitflow,所以我无法从 Sourcetree 启动新功能。
我应该遵循的正确程序是什么?
Git 是去中心化的。每个开发人员都有自己完整的存储库副本,但为了与其他人共享代码,您需要将您的更改与中央“源”同步。 Git实验室是你的“原点”。
Gitflow 是关于从 develop 创建一个功能分支并将其合并回去。但是在分布式模型中,我们通过创建拉取请求将我们的功能分支合并回开发中来增强 gitflow。
推荐流程:
- 克隆存储库
- 切换到开发分支
- 从开发中创建一个功能分支
- 将你的功能分支推送到原点
- 使用 gitlab 为您的代码创建拉取请求
- pr完成后,切换本地分支到develop
- 从源中拉取最新的
- 删除本地功能分支
不断重复 3-8。
如果您希望其他人使用您的功能,请从克隆存储库开始。你只需要这样做一次。
- 从 gitlab 获取最新更改:
git fetch
- 将您的分支切换到功能分支:
git checkout feature/x
- 使用git添加/提交/推送以使用您的更改更新来源
- 使用 git pull 将他们的更改获取到您的机器。
根据@blacktide