Discuss / Git / 为什么会需要关联分支?

为什么会需要关联分支?

Topic source

执行

git checkout -b dev origin/dev

后,本地dev分支就和远程dev分支关联了呀,例子中“小伙伴”这样做后不就可以push了吗,为什么例子中“我”就需要专门的关联分支,例子场景中,”我“不是用这个命令创建的dev分支?

vth1311

#2 Created at ... [Delete] [Delete and Lock User]

因为之前的仓库,是用git switch -c dev 创建的dev分支,然后用git push origin dev push到远端的,并不是说建立了关联。

如果你没执行git push origin dev时,

只执行git push。 git也会提示你让你关联。

这时你执行git push --set-upstream origin dev,也就是说把本地分支与远端的dev分支关联在了一起。

关联后,你再执行git push就没问题了。

然后另外一个仓库操作了origin/dev以后,你再pull,也不会让你设置这个东西了。

简而言之,设置这个东西,是让你不用每次都git push origin dev ,  git pull origin dev。关联后可以简化为git pull , git push。

git push origin dev 是你在你电脑上推送的,没有参数-u,所以没有本地和远程并没有绑定。

git checkout -b dev origin/dev 这条命令是你的"同事“在他电脑上下载dev分支,此时他的本地和远程分支已经关联了。他可以推送自己的更新,也可以pull。

后来是你又想git pull,但你之前推送的时候并没有用-u绑定。

明天你好

#4 Created at ... [Delete] [Delete and Lock User]

2022.6.22

现在关联本地分支和远程分支用的是:1.先切到dev分支 2. git branch --set-upstream-to=origin/dev即可

Poss

#5 Created at ... [Delete] [Delete and Lock User]

回复下四楼:  廖老师其实说的也没错,不过只是要先git pull,然后再git checkout -b dev origin/dev(不需要切换到dev,即可创建本地dev分支并且关联远地dev分支)。


  • 1

Reply