繁体   English   中英

多个开发人员有效地与多个分支机构合作

[英]multiple developers working with multiple branches efficiently

我是一名仅出于基本目的使用git的开发人员,但现在开发人员团队有所增加,我发现我的git技能可能不是管理用于多个开发人员的git存储库的最佳技能。 因此,我想知道以下工作行为是否是我们在上述情况下可以遵循的最佳行为:

我们是5个开发人员,致力于一个git存储库。 每个开发人员都在自己的分支上工作,因此只允许他提交并推动其分支。 我们有一个master分支,用于存储用于提供预生产环境的稳定代码。 我们有一个developer分支,我们在这里合并,因此将每个开发人员推送的代码存储在自己的分支中。

工作流程如下:

#First time
git clone git@domain:my_repository.git
git checkout develop
git checkout -b my_branch

#Everyday before coding, developers fetch and merge develop branch
git fetch --all
git rebase origin/develop

git commit -m 'Some work done' src/
#before push, fetch and merge again develop branch changes
git fetch --all
git rebase origin/develop
git push origin my_branch
#Only when previous push is blocked, the following command should be run
git rebase origin/my_branch
git push origin my_branch

Now, someone has to update develop branch so developers can always work with the last version of the code developer by his team mates
git fetch --all

git checkout some_developer_branch
git pull origin some_developer_branch
git rebase origin/develop
git push origin some_developer_branch

git checkout develop
git pull origin develop
git merge some_developer_branch
git push origin develop

#Now i repeat the process again in order to merge another developer branch.

看到这是一个整洁的过程,迫使我不断更新开发分支,以允许开发人员获取并合并其他团队伙伴代码,我想知道这是否是避免代码冲突并让每个开发人员使用最新版本代码的最佳行为。

我们使用具有存储库的远程服务器。 我们让开发人员克隆它并在自己的开发分支上工作。 一旦更改生效,他们将进行拉,提交和推送。 这样可以使远程存储库保持最新状态,以便每个人都可以获取最新的代码。

通常,我会在早上做第一件事,以获取所有最新代码,然后,如果白天有任何事情要提交,我仍会做一件事以在推送之前保持最新状态。 如果我忘记了拉取操作或发生合并冲突,则取决于它是什么,我将继续执行自己的提交以使合并可以发生,或者我将进行隐藏以使我可以在拉取之后处理合并。

这种方法对我们有效,并且看起来比上面的示例简单得多,命令更少。 也许您真正需要的是网络上的另一台计算机来代替您来托管存储库。 至少对我来说,这似乎是您托管存储库,而不是将其存储在其他计算机上。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM