2016-07-22 121 views
1

我創造了我的本地機器上的一個新的實驗分支:如何正確的遠程分支名VS本地分支名不匹配

git checkout -b feature/random-experiments 

然後做了一些修改幾個文件,並承諾他們:

git add . 
git commit -m "1st cut - added cool new experimental feature" 
git push 

後來,我們創建了一個用戶故事(U-123),然後決定重命名我的分支以遵循我們的命名標準。我通過存儲的瀏覽器UI刪除了遠程分支。然後:

git branch -m feature/U123-Add-Cool-New-Feature 

然後做了一些修改,並承諾:

git add . 
git commit -m "clean up & refactor" 

但現在,當我做了git的狀態

$ git status 
On branch feature/U123-Add-Cool-New-Feature 
Your branch and 'origin/feature/random-experiments' have diverged, 
and have 1 and 1 different commit each, respectively. 
    (use "git pull" to merge the remote branch into yours) 
Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

它看起來像我的本地分支仍然指向舊的遠程分支。這是一個問題,因爲舊的(遠程)分支在原點: 1)有一個不同的名稱 2)不再存在,因爲我刪除它。

解決此問題的最佳方法是什麼?

回答

0

您可以reset the upstream branch for your current branch

git branch branch_name --set-upstream-to your_new_remote/branch_name 

你的情況:

git branch --unset-upstream 
git push --set-upstream-to origin feature/U123-Add-Cool-New-Feature 

確保你在正確的地方分支:

git checkout feature/U123-Add-Cool-New-Feature 

並嘗試從那裏推。

+0

當我嘗試這個時,我收到一條錯誤消息,指出原點/特徵/ U123-Add-Cool-New-Feature不存在。我最終完成了2個步驟:1)git branch --unset-upstream,然後2)git push --set-upstream-to origin特性/ U123-Add-Cool-New-Feature。 (注意原點和功能之間的空格。 – SGB

+0

@SGB好的,我已經編輯了相應的答案。 – VonC

相關問題