2015-09-27 78 views
1

enter image description hereGIT:不能推送到產地/主人

這是我的情況。

我推送了2.1.6版本,但它是越野車,所以我恢復了我的文件系統到2.1.5,然後我做了一些改動,我標記了2.1.7。

現在我不能推2.1.7原產/主,因爲它說:
更新被拒絕,因爲你的當前分支的尖端及其遠程副本後面。在再次推送之前集成遠程更改(例如:'git pull ...')。

我現在非常失落。我應該怎麼做,如果我只想丟棄2.1.6,並將原點/主設置爲2.1.7?

+0

* e.g.hint: '混帳拉......' *。 –

+0

使用'git pull'會產生衝突。如果我現在使用'git pull',我想放棄2.1.6完成 –

回答

3

這是你目前的情況:

... ---A------------E master, 2.1.7 
     \---B---C---D origin/master 

使用git pull --rebase會幫助你達到這一點:

... ---A---B---C---D---E master, 2.1.7, origin/master 

最後,git push更改:

git checkout master 
git pull --rebase 
git push 

,或者乾脆利用git push --force會幫助你實現這一目標:

... ---A------------E master, 2.1.7 
     \---B---C---D origin/master 

git checkout master 
git push --force 

... ---A------------E master, 2.1.7, origin/master 
+0

'git push --force'這正是我正在尋找的!非常感謝!在SourceTree中,我使用的git客戶端,出於安全原因,默認情況下它未啓用。但是你可以從偏好中啓用它。 –

0

在推送之前是否更新了代碼?

使用git pull origin master之前,你推任何東西。

我假定您使用origin作爲遠程名稱。 原產地是遙控器。您可以使用git remote --verbose來查看您的git文件夾下配置的所有遠程設備。

您可以使用git reset --hard - >重置索引和工作樹。丟棄在工作樹中跟蹤文件的所有更改。

+0

,它會發生衝突。 有沒有什麼辦法可以將原點/主點重設爲當前的2.1.7? –

+0

有多少個衝突文件?意思是太多了?或者它看起來變化/差異是有效的? – rajuGT

+0

是的,很多衝突 –