git -------- pull更新錯誤解決辦法
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 stash
git pull
git stash pop
然後可以使用git diff -w +檔名 來確認程式碼自動合併的情況.
反過來,如果希望用程式碼庫中的檔案完全覆蓋本地工作版本. 方法如下:
git reset --hard
git 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