git创建本地分支以及推送本地分之至远程分支

时间:2023-11-25 14:30:20

Git分支策略

实际开发中,应当按照以下几个基本原则进行管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能再上边干活。

那在哪干活呢?干活都在dev分支上,也就是说,dev是不稳定的,到某个时候,比如1.0版本发布的时候,在将dev分支合并到master,在master分支发布新版本。

你和你的小伙伴都有自己的分支,每个人在自己的分支上干活,时不时地往dev分支上合并就可以了。

所以团队合作分之看起来就像这样:

git创建本地分支以及推送本地分之至远程分支

git创建分支并切换到当前新创建的分支上

git checkout -b dev

开发完成后

git push origin dev

此时就将本地分支推送到远程相应的分支上了

此时,团队里另一个成员要更新远程dev分支上的代码

git pull

若出现如下错误

$ git pull
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
From github.com:michaelliao/learngit
fc38031..291bea8 dev -> origin/dev
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details git pull <remote> <branch> If you wish to set tracking information for this branch you can do so with: git branch --set-upstream dev origin/<branch>  

git pull失败了,原因是没有指定本地dev分支与远程dev分支的链接。

根据提示设置

git branch --set-upstream dev origin/dev

此时又出现提示

The--set-upstream flag is deprecated and  will be removed.Consider using --track or --set-upstream-to

Branch dev set up to track remote branch dev from origin.

于是重新设置

git branch --set-upstream-to  origin/dev

然后就直接pull了

git pull

该同事修改完成后,又要将本地分支推送到远程dev分支

但他习惯性的用了

git push

于是出现了警告

warning:push.default is unset;its implicit  value has changed in Git 2.0 from 'matching' to 'simple' .

根据提示

我们设置

git config --global push.default simple

之后就可以直接用

git push

而不用再写

git push origin dev了