2014-09-19 112 views
0

我試圖運行的Git拉主產地失敗

git pull origin master 
我的生產服務器上

,但它是用下面的失敗。

From ssh://bitbucket.org/ala_arab/admnet 
* branch   master  -> FETCH_HEAD 
Auto-merging db/schema.rb 
CONFLICT (content): Merge conflict in db/schema.rb 
Automatic merge failed; fix conflicts and then commit the result. 

這可能是因爲我跑耙分貝:遷移我的開發服務器上,它改變了模式文件在不同的方向上比在生產服務器上。如何在生產服務器上修復此問題?我需要拉我的變化。

回答

2

如果您打開該文件,您將看到git的衝突標記:<<<,===>>>這些表示衝突的位置(s)。您需要編輯該文件以解決這些衝突,然後添加並提交該文件。

更好的方法是解決衝突,而不是在生產服務器上。做git reset --hard HEADgit merge --abort(謝謝,MirMasej)恢復以前的主人狀態。目前,您的應用程序很可能在生產中被打破。

+0

運行git reset --hard在我的開發服務器上沒有做任何事情。它只是恢復到生產服務器之前的最新提交。我看到生產服務器上架構文件中的那些git衝突標記。但我不認爲我應該手動編輯模式文件,我不想丟失數據,也不是處理它的正確方法。 – MoB 2014-09-19 19:19:54

+2

建議您恢復**生產**服務器上的更改以將其恢復到正常運行狀態。你也可以使用'git merge --abort'。 – MirMasej 2014-09-19 19:26:39

1

我認爲你應該以相反的方式去做。

  • 中止生產服務器
  • 拉離督促變化到dev
  • 合併
  • 檢查,如果一切正常
  • 拉督促這些變更對合並。