我有一个名为appsec/master
的远程跟踪分支,我希望将其设置为HEAD
。我通常使用git branch -f <branch> <commit>
来设置本地分支,但是执行branch branch -f appsec/master HEAD
会导致创建新的本地分支appsec/master
。
如何在执行git push -f -u <upstream> <branch>
之前显式设置远程跟踪分支?
(master %<>)$ git log --graph --oneline --decorate --all -n 25
* 211e9d7 (HEAD -> master) Working version of scanner
| * c5a9ec4 (appsec/master) Added regex.json
|/
...
NB :我知道这个问题有点笼统,因为我永远不应该手动执行git push -f
或修改远程跟踪分支,但是在这种情况下,我将自己的存储库与没有合作伙伴。
答案 0 :(得分:1)
您无法“设置”远程跟踪分支,它们是设计使您上次检查时从远程获取的图像。
但是,您可以在本地分支上设置任何引用,然后将其强制推送到远程。然后,简单地从中提取内容也会更新您的远程跟踪分支。
答案 1 :(得分:1)
您的本地计算机上的远程分支也会被表示,但是默认情况下它们是隐藏的。您可以使用git branch --all
查看其中的列表。
因此,即使您没有Internet连接,也可以合并远程分支(本地缓存)。
因此,您可以简单地运行git push --force appsec master
。
然后运行git fetch
以将所有更改从服务器接收到本地远程分支。
参见git remote branches。