簡體   English   中英

將本地Git分支推送到原點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM