Git - 在签出之前更新分支

Bla*_*ack 4 git

我向分支推送了大约 200 个提交master

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

我可以git checkout master立即执行git pull

但随后旧状态将一直存在,直到git pull执行更新分支为止。


我可以先更新一个分支然后再查看吗?

pad*_*win 5

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

git branch -f master origin/master
Run Code Online (Sandbox Code Playgroud)

然后你可以检查一下:

git checkout master
Run Code Online (Sandbox Code Playgroud)

它将处于 的状态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)
Run Code Online (Sandbox Code Playgroud)