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
把文件從版本管理中移除
#git rm -r -n --cached 文件路徑