[英]Push local Git branch to origin
我正在研究兩台機器和第三台機器上的原始倉庫(原點可以從其他兩台進入,機器1和機器2之間沒有直接連接)。
# Machine 1
$ git branch
master
* testing
cms
# Machine 2
$ git branch
* master
現在,我想將testing
分支推送到原點並將其放在machine2上,因此最終的效果將是:
# Machine 2
$ git branch
* testing
master
我試過了:
# Machine 1
$ git push origin testing
# Machine 2
$ git pull origin testing # bunch of merge conflicts
$ git checkout -b testing origin/testing # errors too
目前的狀態是:
# Machine 1
$ git branch -r
origin/HEAD -> origin/master
origin/master
origin/testing
怎么做?
我的下一個問題可能是:如何刪除origin/testing
分支?
而不是使用git pull
(提取和合並),嘗試git fetch
(它不會嘗試與machine2上的當前分支合並,並導致沖突):
# Machine 1
$ git push origin testing
# Machine 2
$ git fetch origin testing
$ git checkout -b testing origin/testing
您已成功將測試分支推送到原點,因此現在您只需要將分支轉到machine2。
不確定機器2上的回購狀態,所以我會刪除目錄(或者創建一個新的目錄),然后在Machine2上克隆回購和結帳測試......
所以在Machine2中的空目錄(新的或干凈的):
$ git clone git@github/somewhere
$ git branch
* master
$ git checkout testing
# ...
# something about getting and switching
# ...
$ git branch
* testing
master
您所要做的就是以下內容:
在計算機1上 ,部署遠程分支並將本地測試分支鏈接到它:
git push -u origin testing
在計算機2上 ,部署鏈接到遠程測試分支的本地分支:
git fetch origin && git checkout --track origin/testing
現在必須部署兩個本地測試分支並鏈接到遠程測試分支=)
現在刪除遠程分支,你可以試試這個:
git push origin --delete testing
要么
git push origin :testing
原始海報說明:
我的下一個問題可能是:如何刪除
origin/testing
分支?
你必須明確你的意思,因為在你將testing
推送到遠程倉庫之后,還會有一個名為origin/testing
的本地遠程跟蹤分支,它跟蹤遠程testing
分支的最后已知狀態。 。 你可以在.git/refs/remotes/origin/
下找到這個遠程跟蹤分支。
testing
和本地origin/testing
分支 如果使用以下命令刪除遠程分支:
git push origin :testing
# Or
git push origin --delete testing
然后, 本地遠程跟蹤分支origin/testing
也將自動刪除。
origin/testing
分支 如果由於某種原因你只想刪除本地遠程跟蹤分支origin/testing
,而不是遠程上的testing
分支,則可以使用--remotes
或-r
標志運行git branch -d
命令:
git branch --delete --remotes origin/testing
# Or shorter
git branch -dr origin/testing
如果您收到一條錯誤消息,指出由於尚未合並分支而無法刪除該分支,則可以使用-D
標志而不是--delete
或-d
強制刪除該分支。
我的下一個問題可能是:如何刪除origin / testing分支?
回答你的下一個問題:出來你打算刪除並運行的分支:
git branch -d <branch_name>
-d delete完全合並的分支
-D delete分支(即使沒有合並)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.