2014-02-22 2 views
1

프로젝트에 대한 git repo가 ​​있는데 서버에서 파일을 업데이트하기 위해 git를 사용하고 싶습니다. (가끔은 작업 한 후에 모든 업데이트 된 파일을 복사하는 것을 잊었습니다. 일).풀 (pull) 동안 git repo에서 특정 파일을 다운로드하지 않음

"pull"으로 모든 업데이트 된 파일이 서버에 다운로드 될 수 있습니다. 그러나 이것 역시 단점이 있습니다.

연결 문자열은 프로덕션 버전과 라이브 버전간에 다르므로 변경 내용을 가져 오는 동안 서버의 web.config 파일을 업데이트하면 안됩니다.

gitignore를 시도했지만 커밋과 함께 작동하는 것처럼 보입니다. 어떻게 web.config를 서버에 그대로 둘 수 있습니까?

내 저장소가 github에 있습니다. 서버는 windows2008이며 git 확장자를 사용합니다.

감사

+1

당신이 버전 제어로 설정 파일에 체크하지 간주 적이 개발자의 시스템 중 하나 필요로 이러한 정보를 얻기 위해 악성 소프트웨어에 대한 더 힘들어하지만, 수동으로 서버에 배치 하시겠습니까? – TimWolla

+1

기계 특정 구성은 소스 제어에 있지 말고 밀어 넣으면 안됩니다. 코드 동작에 영향을주는 구성은 문제가 없습니다. sql에 대한 연결 문자열은 machine/env specific입니다. 다른 코드 특정 설정을위한 web.config를 원하므로 web.config에서 가져옵니다. – bryanmac

+1

@TimWolla가 말한 내용. 그렇지 않으면 [콘텐츠 필터] (http://stackoverflow.com/q/15150317/1290731) 또는 [지점 관련 포함] (http://stackoverflow.com/q/20078756/1290731)이 수행됩니다. – jthill

답변

1

당신은 파일 버전 관리로 환경의 특정 구성에 확인하지만, 수동으로 서버에 올려 안된다. 이 방법은 다음과 같은 장점을 가지고있다 :

  • 이하의 번거 로움을 서로 다른 환경 (개발, 테스트, 생산) 민감한 데이터의
  • 더 나은 보안에 응용 프로그램을 배포 할 때. 아마도 모든 개발자는 버전 관리에 액세스 할 수 있지만 암호와 같은 중요한 데이터에 액세스하면 안됩니다. 암호를 가져 오는 변경을 도입하는 커밋이 탐지되어 탐지 될 것이므로 데이터베이스에 로그인하는 것만으로는 불가능할 것입니다.
  • 는 또한,이 서버에 도착 대신
관련 문제