這是我的情況。
我推送了2.1.6版本,但它是越野車,所以我恢復了我的文件系統到2.1.5,然後我做了一些改動,我標記了2.1.7。
現在我不能推2.1.7原產/主,因爲它說:
更新被拒絕,因爲你的當前分支的尖端及其遠程副本後面。在再次推送之前集成遠程更改(例如:'git pull ...')。
我現在非常失落。我應該怎麼做,如果我只想丟棄2.1.6,並將原點/主設置爲2.1.7?
這是我的情況。
我推送了2.1.6版本,但它是越野車,所以我恢復了我的文件系統到2.1.5,然後我做了一些改動,我標記了2.1.7。
現在我不能推2.1.7原產/主,因爲它說:
更新被拒絕,因爲你的當前分支的尖端及其遠程副本後面。在再次推送之前集成遠程更改(例如:'git pull ...')。
我現在非常失落。我應該怎麼做,如果我只想丟棄2.1.6,並將原點/主設置爲2.1.7?
這是你目前的情況:
... ---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
'git push --force'這正是我正在尋找的!非常感謝!在SourceTree中,我使用的git客戶端,出於安全原因,默認情況下它未啓用。但是你可以從偏好中啓用它。 –
在推送之前是否更新了代碼?
使用git pull origin master
之前,你推任何東西。
我假定您使用origin作爲遠程名稱。 原產地是遙控器。您可以使用git remote --verbose
來查看您的git文件夾下配置的所有遠程設備。
您可以使用git reset --hard
- >重置索引和工作樹。丟棄在工作樹中跟蹤文件的所有更改。
* e.g.hint: '混帳拉......' *。 –
使用'git pull'會產生衝突。如果我現在使用'git pull',我想放棄2.1.6完成 –