2014-11-06 72 views
0

恢復提交我分叉回購從origin/masterlg/master,但我不有產地主賬戶,現在我需要恢復從origin/master這是已經合併到它提交。 由於我的帳戶已添加到開發組,因此我想我被授權恢復。如何通過其他帳戶

但我不知道如何一步一步做到這一點。我對git很陌生,所以有什麼建議?

當我運行git remote -v,它顯示

lg  [email protected]:Logan676/seadroid.git (fetch) 
    lg  [email protected]:Logan676/seadroid.git (push) 
    origin [email protected]:haiwen/seadroid.git (fetch) 
    origin [email protected]:haiwen/seadroid.git (push) 

當我運行git branch -a,它顯示。

progressbar 
* camera 
    remotes/origin/HEAD -> origin/master 
    remotes/origin/camera 
+0

我看行 遙控器/產地/ HEAD - >產地/主 在混帳分支-a的輸出,這意味着你必須在你的本地原點/主。 – Ajay 2014-11-06 04:42:20

+0

然後如何結帳起源/主,我沒有通過'git checkout master'結帳它 – 2014-11-06 05:15:36

+0

這應該是因爲你有兩個主分支試着檢查出git checkout origin/master – Ajay 2014-11-06 05:24:45

回答

1

this blog解決了這個問題。做如下。

$ git remote show origin 

此命令允許您修剪所有跟蹤已經刪除的遠程分支的本地分支。 我經常在更改合併到主設備後刪除遠程功能分支,並且不再需要分支,以便「整理」。但是,如果您將該分支簽出到本地分支並將其設置爲跟蹤,那麼git pull不會爲您刪除此類分支。那麼如何知道服務器上不存在哪些本地分支?很容易,只需運行:

$ git remote prune origin --dry-run 

並且您將收到一個陳舊的遠程跟蹤分支的列表。如果你沒有使用-dry-run選項運行它,它會爲你刪除它們。

然後恢復提交。

$ git revert -m 1 (Commit id of the merge commit) 

之後,您可以將更新推送到遠程。