2016-08-16 3 views
0

GIT를 사용하여 잠시 동안 작업 해 왔지만 로컬 및 원격 간의 핵심 개념을 이해하지 못하는 것은 분명합니다.Git 워크 플로 로컬 및 원격 간 캐시에서 원격으로 푸시 할 때 캐시에서 파일을 삭제함

비트 버킷에 레포가 있습니다.

그것은 구성 YML 파일이 필요합니다 오래된 레거시 응용 프로그램 (심포니 1.4.20)

이야 내가 로컬 버전을 가지고 로컬 및 원격에서 조금 다른해야 두 개의 파일이 있습니다.

나는 복제품을 만들고 필요한 정보를 얻는다.

apps/frontend/config/factories.yml 및 config/databases.yml 을 변경하고 내 로컬 시스템에서 모든 작업을 수행하십시오.

다음 두 파일을 내 자식 무시 파일에 넣고 캐시에서 제거합니다.

캐시에서 제거하고 git 상태를 수행하면이 두 파일이 삭제 대상으로 표시됩니다.

내가 커밋 한 다음 서버에 강제로 밀어 넣으면 서버가 계속 삭제되므로 새 서버가 만들어지면 두 개의 주요 구성 파일이 생성되지 않습니다.

나는 분명히 매우 간단한 것을 놓치고 있습니다.

어떻게 파일을 변경합니까? 로컬 변경 사항 사본을 보관하십시오. GIT가 추적을 중지하지만 git push를 수행 할 때 삭제하지는 않습니다.

아마도이 질문에 답을 얻었지만 나에게 의미가있는 것을 찾지 못했기 때문에 다른 대답을 읽기 쉬워졌습니다.

감사합니다.

답변

1

불행히도, git의 요점을 놓치고 VCS를 일반적으로 놓치 셨습니다. 대부분의 VCS 모델에서 git과 비슷하지만 그렇지 않은 경우 업데이트 작업의 일반적인 개념은 두 파일 세트 (로컬 및 원격)가 동일한 상태에 있어야한다는 것입니다.

리모컨에서 파일을 가져 와서 .gitignore에 추가하면 git은 기본적으로 다음과 같습니다. "나는 더 이상 어떤 이유로이 파일을 추적하지 않습니다. 지금부터는 repo에 포함시키지 마십시오. "

다른 서버에서 서로 다른 버전의 파일을 필요로하는 시나리오가있는 경우 자동 생성을위한 적절한 후보라는 의미입니다. 이러한 파일을 생성하는 저장소에 스크립트를 포함시킨 다음 파일을 .gitignore에 추가하십시오. 그렇게하면 git인 것입니다.을 수행하면 모든 환경에서 동일한 소스 파일을 추적 할 수 있습니다. 스트라이프의 VCS는 환경에 따라 달라야하는 파일을 추적하기위한 것이 아니므로이를 수행하려고 시도하지 마십시오.

+0

awg 스크립트에 자동 생성 기능을 추가하여 이미 nginx 파일을 만들고 있습니다. – smugford

+0

그리고 너 거기 간다. 그냥'.yml' 파일을'.gitignore' 파일에 영구히 추가하고, 하루를 부르며, 펍으로 향하십시오. –