
我剛剛創建了一個新分支“ie-eab-TD-IECC-25235-Junit”。我試圖將我的更改推送到同一分支上的 git 存盤庫,但是,這似乎不是一個選項。--> 見上圖,它的分支名稱與發布提交的選項不同。
我只能將它推送到其他分支,而不是我所在的分支。為什么會發生這種情況,我如何推送到我實際所在的分支?
我的想法是這與上游分支設定有關。但是我很困惑,因為我遵循了創建新分支的說明,然后當我拉時,那就是我必須設定上游分支的時候。這可能是阻止我推動自己的原因(雖然我現在不太確定)。
uj5u.com熱心網友回復:
發生這種情況的原因是您的分支當前正在跟蹤具有不同名稱的遠程分支。您可以使用以下命令查看所有本地分支及其遠程跟蹤分支:
git branch -vv
要修復它,只需使用以下命令取消設定當前的結帳分支:
git branch --unset-upstream
現在,大多數 Git UI 將為您提供將分支推送到具有相同名稱的遠程分支的機會,并且通常默認情況下還將其設定為為您跟蹤。
為什么會這樣?
要么在創建時將其設定為錯誤的分支,要么在拉取時(如您所提到的)。
當您從不同的分支名稱創建分支時,您可能也選擇了“跟蹤”遠程分支。許多 UI 都有一個可以選擇是否“跟蹤”分支的選項,如果它是一個不同的名稱,大多數情況下您想取消選擇該選項,以防止您遇到的確切問題。如果您是從命令列創建分支,則可以使用--no-track引數,例如:
git switch -c new-branch origin/existing-branch --no-track
或等效的舊(er)方式:
git checkout -b new-branch origin/existing-branch --no-track
如果你在拉取時(或之前)設定它,那么你可以先推送然后設定它,或者下次添加一個包含要拉取的分支的引數,例如,git pull origin some-branch-name而不是使用 just git pull,它沒有引數,需要你將上游設定為something。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/368621.html
上一篇:JavaFX媒體播放器匯入
