2011-07-15 41 views
0

我有一個「dev」git分支。我在本地做了一些代碼更改。我沒有將它們提交給遠程「dev」分支。現在我已完成所有更改,我不想將本地更改提交到同一個遠程分支。我想創建一個名爲「over_here」的新分支並在那裏提交更改。Github - 將現有本地分支上的更改提交到新的遠程分支

這是如何實現的?

+0

你想提交一個新的分支或推送你的本地提交到一個新的分支。不同的是,你有多個提交你想移動到新的分支或只是你目前的變化? – Affian

+0

承諾建立一個新的分支機構。我還沒有在本地開發分支上進行任何提交(所以只是目前的變化)。 – keruilin

回答

5

假設你的遙控器具有標準的git名origin

git checkout -b over_here 
git push origin over_here 

取決於如果您需要將dev分支重置爲origin/dev狀態你也可以執行

git checkout dev 
git reset --hard origin/dev 

更新:以上是書面假設你有一些改變提交。當您在留言告訴你沒有犯什麼地方dev分支 - 你現在需要籤新的分支:

git checkout -b over_here 

現在所做的更改還在這裏,但你對新創建的分支。所以,你準備好了提交你的本地修改:

git commit -m 'my local changes to over_here branch' 

現在,這些變化是隻能在本地回購。如果你想將它們推到遠程存儲庫(可能github上) - 你應該執行:

git push origin over_here 

它會在遠程存儲庫中創建新的分支,並提交更改那裏。

+0

赦免無知,但我怎麼知道我的遙控器是否有標準的git名稱來源?而起源是指什麼? – keruilin

+0

使用第一個選項,如果您想保留分支局部,只需省略push命令 – Affian

+0

'git remote'會顯示您配置的遠程控制列表。 'git remote show _remote-name_'會向你顯示名爲'_remote-name_'的遙控器的詳細信息,它應該等於你從第一個命令中獲得的名字之一。 –

0

如果要將分支foo分支到bar遠程origin,可以使用git push origin foo:bargit push origin foogit push origin foo:foo

速記如果使用git push --set-upstream origin foo:bar,你就可以在該分支只使用git pushgit pull無需指定遠程和分支的名稱。

相關問題