2012-02-15 186 views
0

我的服務器上的錯誤說'解析錯誤:語法錯誤,意外的T_SL'。將此特定文件與該文件上的其他人合併後,我收到此錯誤。看起來意外的錯誤T_SL指的是按位運算符< <。現在我確定這與合併有關,看着git repo,我沒有看到該行上的'< <'。我很久以前有過這個錯誤,發現文件已損壞,但不記得修復。任何幫助都很好。Git損壞的文件修復

+0

你有一個*合併衝突*。你需要在你的工作副本中進入文件,解決衝突,並'git提交'結果。 – Borealid 2012-02-15 18:39:31

+0

沒有合併衝突。該文件已被推送 – user1028598 2012-02-15 18:43:41

回答

0

如果你已經推內容,很可能是你認定爲位運算符模式<<實際上是一個合併衝突的git的符號(什麼Borealid想告訴你,他comment)。

如果這被推送,之前發生的衝突沒有被正確解決(並且有人在沒有檢查它至少在沒有發生重大錯誤的情況下工作)。

爲明顯衝突的一個例子(也有利於解決衝突)可能在git manual發現:

<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

這可以讀取方式:

  • 有文件衝突file.txt
  • 修訂HEAD,行說Hello World
  • 修訂版77976da,行說Goodbye

現在,這是你的任務,以決定哪些應該使用。

How to resolve merge conflicts in Git?問題的接受答案也指向了git手冊,所以它似乎值得一讀。但是對於引用問題的其他答案也有很多關於如何處理合並衝突的提示。

For example,保持Hello World,通知Git

git checkout --ours file.txt 

保持Goodbye改用

git checkout --theirs file.txt 
+0

是的,我明白了。我推送了不正確的合併,並查看文件和行號模式<<不可見,我的本地和推送現在都是相同的。當我有答案時,我會發布解決方案 – user1028598 2012-02-15 22:05:25