我有一个回购,有另一个远程除了原产地。当我执行命令git checkout development时,它将签出/development分支。现在,我想结帐到原产/开发部。当我执行命令git checkout origin/development时,它说:
你处于“独立的头脑”状态。您可以环顾四周,进行实验性更改并提交它们,还可以通过切换回分支来丢弃在此状态下进行的任何提交,而不会影响任何分支。
当我做git status的时候,它说:头在起源/发展时是分离的。
我不太擅长git,但我如何才能签出原始/开发,因为我想推动提交在原始远程,有时只到。
当我做git branch -a时,我有这样的感觉:
* development
main
remotes/remote_2/development
remotes/remote_2/main
remotes/origin/HEAD -> origin/main
remotes/origin/development
remotes/origin/main发布于 2022-11-30 11:04:46
直接签出远程跟踪分支是不可能的,因为在git中进行设计是不可能的,因为它落后于检查引用指向的提交。
似乎您的本地development分支设置为跟踪remote_2/development,但您可以更改它。
# get on your branch
git checkout development
# point to the right commit
git reset --hard origin/development
# set up remote
git push -u origin HEAD当您不得不(偶尔)推到remote_2时,只需在git push remote_2 HEAD中显式显示
发布于 2022-11-30 13:28:57
问题是,您实际上并不想直接签出远程分支,您需要的是创建基于远程分支的本地分支。
这也是git checkout假设您想要并做的,每当您告诉它签出一个尚未真正存在的本地分支时。
你要找的命令是
git checkout -b development origin/development(如果要替换名为-B的现有本地分支,请使用-b代替development)
提示:如果希望git checkout始终默认创建基于origin而不是remote_2的本地分支,请将其添加到.git/config中
[checkout]
defaultRemote = origin发布于 2022-11-30 13:02:15
首先,从独立的头移到你的主要分支。
git checkout main
然后查看原始开发。
git checkout -b origin_developement origin/developementorigin_developement将是您跟踪到origin/developement的本地分支。
https://stackoverflow.com/questions/74626663
复制相似问题