2012-04-26 4 views
2

로컬로 작업하고있는 자식 프로젝트가 있습니다. MySQL 데이터베이스 연결 정보를 저장하는 설정 파일이있는 PHP 프로젝트입니다. 로컬 MySQL 설정은 원격 설정과 다릅니다. 내 원격에Git - 수신 후 체크 아웃에서 구성 파일 제외

, 나는이 서버의 폴더에 파일을 체크 아웃합니다 훅을 후받을 수 있습니다

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

내가 포함하지 않도록이 체크 아웃을 알 수있는 방법 (config 파일을 덮어 쓰기) 로컬 구성 파일을 로컬 구성 파일로 바꿀 것이기 때문에? 나는 로컬 설정 파일을 .gitignore에 추가하려고 시도했지만, 그렇게하지는 않았다.

체크 아웃에서 구성 파일을 제외하는 방법에 대한 아이디어가 있으십니까?

답변

2

적절한 해결책은 config.php (또는 그 이름이 무엇이든)을 쓰는 것이 아니라 .gitignore에 넣고 대신 config.php.example을 보내는 것입니다.

그래서 저장소에서 설정 파일을 제거하고 원격 컴퓨터에서 이름을 바꾸고 파일을 제거 할 최신 커밋을 가져온 다음 다시 이동하십시오.

git rm -r --cached . 

이 인덱스에서 모든 것을 제거는, 그럼 그냥 실행합니다 :

+1

I을 내가 이미 그렇게했다고 생각했지만, 나는 제대로하지 않았다. 감사! – matt

0

실행 명령을 시도 할 수 있습니다

git add . 

그것을 커밋 :

git commit -m ".gitignore is now working" 
관련 문제