2017-05-19 25 views
-2

我想使用Git(從控制檯)把我的項目的一個新版本在我的倉庫,但我得到這個錯誤信息:爲什麼我在GIT上推送我的代碼時出現這個錯誤?也許這是一個好主意創建一個分支?

$ git push origin master 
To https://bitbucket.org/MyUserName/glis-toolkit.git 
! [rejected]  master -> master (fetch first) 
error: failed to push some refs to 'https://[email protected]/MyUserName/glis-toolkit.git' 
hint: Updates were rejected because the remote contains work that you do 
hint: not have locally. This is usually caused by another repository pushing 
hint: to the same ref. You may want to first integrate the remote changes 
hint: (e.g., 'git pull ...') before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

這意味着什麼?什麼意思是「未能推倒一些裁判」?這些「參考」是什麼?

另一個需要考慮的事情是BitBucket存儲庫上的版本是我係統的一個工作版本(現在與本地版本有很大不同)。我想維護它。也許爲這個新版本創建類似分支的東西更好嗎?

如果它可能是一個解決方案,我該如何創建一個分支並在這個分支上推新版本?

+0

服務器上有你沒有本地的提交,如果你要成功推送,服務器上會有兩個針對你的分支的提示,這是不允許的。您需要了解這意味着什麼,以便您可以適當地處理它。很有可能你可以通過'git pull origin master'來將遠程更改與本地更改集成並進行合併。 –

+0

@ LasseV.Karlsen好的,只有一個疑問:在進行拉...我可以檢查(使用控制檯中的GIT)檢查我的本地版本和我的遠程版本之間有什麼區別? – AndreaNobili

+0

你可以'git fetch'然後'git log master origin/master',這應該告訴你你將用'git pull'合併。 –

回答

2

請使用

git pull origin <your branch> 

befor推代碼。 這可能會發生,因爲別人也在分支上推送了一些代碼,因此git首先要求這些更改並進行更改。

+0

我知道這個選項,但是本地的和遠程的並沒有很大的不同,所以我真的不想冒風險去改變本地的東西。我寧願創建一個新的遠程分支並推上本地的分支 – AndreaNobili

+0

然後先複製一份,然後再拉,然後比較兩者。但是通常拉動就足夠了,因爲你應該保留本地的變化,當同一地點的本地和遠程不同時,也可能會有一些碰撞。 –

+0

@AndreaNobili你可以創建一個臨時分支,如果你想保存你的更改 –

相關問題