Your local changes to the following files would be overwritten by merge
error: Your local changes to the following files would be overwritten by merge: protected/config/main.php
Please, commit your changes or stash them before you can merge.
參考http://blog.csdn.net/zwhfyy/article/details/8625228
如果希望保留生產伺服器上所做的改動,僅僅併入新配置項, 處理方法如下:
git stashgit pullgit stash pop
然後可以使用git diff -w +檔案名稱 來確認代碼自動合并的情況.
反過來,如果希望用程式碼程式庫中的檔案完全覆蓋本地工作版本. 方法如下:
git reset --hardgit pull
其中git reset是針對版本,如果想針對檔案回退本地修改,使用
untracked working tree file 參考: http://blog.csdn.net/sheismylife/article/details/7204345
編寫指令碼自動編譯並部署時的注意
如果想在C2上編寫指令碼自動從S1上擷取最新代碼時,要注意:
1.首先之前產生的公開金鑰不能設密碼,否則每次git pull的時候都會要求輸入密碼。
2.不要將項目中的編譯中間檔案提交到S1上,比如CMake工程裡面的build目錄的檔案,Maven工程裡面的target目錄裡面的檔案。否則下次在C2等用戶端用git pull會報類似於這樣的錯誤:
error: Untracked working tree file 'public/images/icon.gif' would be overwritten by merge.
需要執行下面的命令才能修複:
git reset --hard HEAD git clean -f -d git pull