簡體   English   中英

git將本地分支重新建立到遠程主服務器

[英]git rebase local branch to remote master

我對git完全陌生,在緊急情況下可以使用git命令將本地分支重新設置為遠程master。 事情是這樣發生的。

1.我在Github上從haiwen / seadroid分出了一個倉庫 Logan676 / seadroid

2.我在Logan676/seadroid上創建了一個名為lguo的新分支

3.然后做一些修改,提交。 同時,原版主機haiwen/seadroid也被其他人更新。

4,現在我想將lguo haiwen/seadroid的最新起源大師。

我在下面使用了命令:

git fetch origin            # Updates origin/master
git rebase origin/master    # Rebases current branch onto origin/master

gitbash中的輸出為: Current branch lguo is up to date

但是團隊成員告訴我,我的分支機構是基於派生的回購主數據庫而不是原始主數據庫。 我對此感到很困惑,是否錯過任何命令?

順便說一句,我注意到有人這樣寫

git clone
git checkout -b dev_branch
[do some changes, commit]
git fetch origin
git rebase origin/master
git push origin HEAD:master

所以我應該添加最后一個命令行

git push origin HEAD:master

恐怕要使用該命令,我擔心會損壞原始主機嗎? 我該怎么辦? 您的任何幫助將不勝感激。

雖然可以從本地分支機構A推送到遠程分支機構B,但在這種情況下,兩個分支機構已經分開,並且該推送將被拒絕。 您仍然可以強制執行推送,但這將意味着丟失自創建分支lguo以來master中發生的所有提交。

我建議您執行以下操作

git checkout master
git pull origin master
git merge lguo

這可能需要合並。 生成的master分支具有您對lguo所做的所有更改。 最后:

git push origin master

遠程指向github上的克隆Logan676 / seadroid ,而不是haiwen / seadroid 您的Logan676 / seadroid本地克隆不知道原始的haiwen / seadroid存儲庫。

您需要將原始存儲庫添加為本地克隆的附加遠程目錄:

git remote add haiwen git@github.com:haiwen/seadroid.git

那你可以做

git fetch haiwen
git rebase haiwen/master

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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