2010-12-12 72 views
4

我最近更改了我的編程機器,這導致了一些啓動問題,導致我的新編碼源與我現有的Github repo和我的Heroku應用程序無縫集成。git pull - 在再次推送前合併遠程更改

我最初使用git clone將Github repo克隆到我的新機器上。從那以後,發生了一些事情。

  • 當我做git add .git commit -m "mychanges"git push,代碼被直接寄到的Heroku。它曾經被髮送到我自己的Github回購站,但我明白這是一個簡單的問題,重新定義什麼被視爲'起源'。
  • 重新定義起源於我的GitHub庫的地址,並輸入git push origin master後,我得到以下錯誤:
    錯誤:未能一些裁判推到「[email protected]:...」
    爲了防止你losinghistory ,非快進更新被拒絕。在再次推送之前合併遠程更改('git pull')。

我擔心如果我做了git pull(爲了以防萬一,我支持了所有的東西),我最後兩天的編碼將會丟失。

我目前的想法:做git pull並手動更新備份中最後兩天的文件,最後做我的git push。這是正確的方向嗎,還是有更優雅的解決方案?

回答

10

git不會覆蓋您的數據,除非您使用重置。 git pull將接受origin/master(假設您的分支是主人)的提交併嘗試快速轉發您的本地分支到該點,合併任何本地更改。如果你已經在本地提交了,並且這些提交意味着要在服務器上進行任何更新的提交後執行,則可以改爲git pull --rebase