2017-11-13 2 views
1

더 좋은 방법으로 코드를 구성하려면 git을 사용하고 있습니다.자식을 완전히 무시합니다.

나는 모든 커밋 및 지점을 저장하는 중간 GitLablocalhostproduction server

에 설치 git 있습니다. server

, 나는 하나 masterapp.example.com에 지점 내가 초기화 한 dev.example.com

dev 지점에 대한 또 다른 하나를 호스팅하고에 마스터 분기를 끌어 모두 하위 도메인에 동일한 원격을 설정, 설정이 개 하위 도메인을 app 및 dev 브랜치는 dev입니다.

일부 파일이 세 곳에서 모두 분리되기를 원합니다.

나는이 개 내 응용 프로그램 database_config.php에서 파일과 app.php

database_config.php 파일은 데이터베이스 자격 증명을 포함하고 localhost, appdev에 대한 데이터베이스 자격 증명 때문에이 같이 다릅니다. 나는 그것이 다르고 병합, 밀고 당김의 영향을받지 않아야합니다.

마찬가지로, 나는 debuglocalhostdev에 활성화되는 app.php을 가지고 있지만 항상 app에 사용할 수 없게됩니다.

로컬 호스트의 파일 .gitignore에이 파일들을 포함했지만이 파일은 GitLab으로 푸시되지 않습니다. 충돌이 발생할 경우 reset HEAD on production은 GitLab 저장소에 존재하지 않기 때문에 프로덕션에서 두 파일을 모두 삭제합니다.

어떻게 이러한 파일이 git의 어떤 동작으로부터도 막을 수 있습니까? 그리고 그것은 항상 모든 이벤트에서 손상되지 않습니까?

+0

우선 소스 저장소에서 자격 증명을 확인하는 것은 나쁜 습관입니다. 두 번째로는 구성 관리/배포를 위해 git를 주로 사용하고 있습니다. 예를 들어 작업에보다 적합한 도구를 고려해야합니다. 요리사 또는 책임자 –

+0

나는 자격 증명을 저장소에 넣지 않을거야. 그것이'gitignore' 파일에있는 이유입니다. 하드 리셋 할 때 로컬 파일은 git에 없기 때문에 지워진다는 것을 의미합니다. 이것을 방지하는 방법? –

답변

2

.gitignore에 파일을 추가 할 때 untrack되지 않아야합니다. git rm --cached database_config.php을 사용하여 제거하십시오.