Git-在签出之前更新分支

时间:2019-04-05 10:32:15

标签: git

我向分支master推送了约200次提交。

在另一台服务器上,分支A已签出,但我需要在此处签出master

我可以先执行git checkout master,然后立即执行git pull

但是,直到执行git pull来更新分支之前,旧状态才开始生效。


我可以先更新一个分支然后将其签出吗?

1 个答案:

答案 0 :(得分:3)

运行git fetch后,您可以强制master更改为origin/master所在的位置:

git branch -f master origin/master

然后您可以签出:

git checkout master

这将处于origin/master的状态,并且您不会绕过它以前的中间状态。

这是一个简短的示例(我在test上签出,并将master更改为与test相同的位置):

> git log --graph --oneline
* d97b1f8  (HEAD -> test) - tata (1 second ago)
* e680fb5  - toto (9 seconds ago)
* 4515586  (master) - bar (24 seconds ago)
* e241705  - foo (28 seconds ago)

> git branch -f master test

> git log --graph --oneline
* d97b1f8  (HEAD -> test, master) - tata (9 seconds ago)
* e680fb5  - toto (17 seconds ago)
* 4515586  - bar (32 seconds ago)
* e241705  - foo (36 seconds ago)