2012-04-26 25 views
2

我有一個我正在本地開發的git項目。這是一個帶有配置文件的PHP項目,用於存儲MySQL數據庫連接信息。我的本地MySQL設置與遠程設置不同。Git - 從收到結帳後排除配置文件

在我的遙控器,我有一個-收到後鉤將這些文件檢出到一個文件夾在服務器上:

#!/bin/sh 
GIT_WORK_TREE="../demo" git checkout -f 
chmod +x hooks/post-receive 

我怎樣才能知道這個籤不包括(覆蓋配置文件),因爲它會用我的本地配置替換遠程配置文件?我嘗試將我的本地配置文件添加到.gitignore,但似乎沒有這樣做。

任何想法如何從結帳排除配置文件?

回答

2

正確的解決方案是不承諾config.php(或其名稱),而是將其放入.gitignore並提交config.php.example

因此,只需從存儲庫中刪除配置文件,在遠程計算機上重命名它,然後拖動以便獲得最新的提交(這會刪除文件),然後將其移回。

+1

我我以爲我已經做到了,但事實證明我沒有做好。謝謝! – matt 2012-04-26 15:17:16

0

你可以試試這個

運行命令:

git rm -r --cached . 

這將刪除一切從索引,然後只需運行:

git add . 

提交它:

git commit -m ".gitignore is now working"