我有两台机器,1
和2
。机器1
用于开发代码,而2
是用于测试和高性能计算的远程服务器。
我的git存储库有两个分支,master
和remote-test
。下图显示所有机器上git存储库的当前状态:
A --- B --- C master
`-- D remote-test
机器1
总是使用master
-分支,而我的远程服务器(机器2
(总是驻留在remote-test
-分支上。
在开发新代码时,我向机器1
:上的master
分支添加新的提交
A --- B --- C -------- E master
`-- D remote-test
然后,我将remote-tests
重新建立在提交E
上,并强制推送新分支:
A --- B --- C -------- E master
`-- D' remote-test
`-- D remote-test (on machine 2 only)
当我通过SSH连接到远程服务器时,我希望在不需要处理任何合并冲突等的情况下提取remote-test
。
是否有可能使用";"强制拉动";在机器2
上覆盖remote-test
-分支的本地副本
(我想,我总是可以做git fetch; git checkout origin/remote-test
,这会使头部处于分离模式…(
无论如何,我想我找到了答案:
git fetch; git reset --hard origin/remote-test