我有一個「dev」git分支。我在本地做了一些代碼更改。我沒有將它們提交給遠程「dev」分支。現在我已完成所有更改,我不想將本地更改提交到同一個遠程分支。我想創建一個名爲「over_here」的新分支並在那裏提交更改。Github - 將現有本地分支上的更改提交到新的遠程分支
這是如何實現的?
我有一個「dev」git分支。我在本地做了一些代碼更改。我沒有將它們提交給遠程「dev」分支。現在我已完成所有更改,我不想將本地更改提交到同一個遠程分支。我想創建一個名爲「over_here」的新分支並在那裏提交更改。Github - 將現有本地分支上的更改提交到新的遠程分支
這是如何實現的?
假設你的遙控器具有標準的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
它會在遠程存儲庫中創建新的分支,並提交更改那裏。
如果要將分支foo
分支到bar
遠程origin
,可以使用git push origin foo:bar
。 git push origin foo
是git push origin foo:foo
速記如果使用git push --set-upstream origin foo:bar
,你就可以在該分支只使用git push
和git pull
無需指定遠程和分支的名稱。
你想提交一個新的分支或推送你的本地提交到一個新的分支。不同的是,你有多個提交你想移動到新的分支或只是你目前的變化? – Affian
承諾建立一個新的分支機構。我還沒有在本地開發分支上進行任何提交(所以只是目前的變化)。 – keruilin