2009-11-07 3 views
4

저는 master 브랜치와 다른 브랜치를 가지고 있습니다. 다른 브랜치에서는 커밋하고 싶지 않은 파일 (예 : 로그 파일)이므로 .gitignore에서 무시했습니다.git으로 분기를 바꾸고 무시 된 파일을 제거하는 방법은 무엇입니까?

마스터 브랜치로 전환하면 무시 된 이러한 파일은 유지되지만 다른 브랜치에만 속합니다.

일부 분기 된 파일을 첨부하지 않고 첨부 할 수 있습니까?

답변

3

불가능합니다. git이이 파일들을 무시하도록하면, git은 그것들을 무시할 것이다. 당신이 수행하고있는 git 연산에 상관없이 그것들을 건드리지 않을 것입니다.

로그 파일에 분기 별 명명 체계를 사용하거나 각 분기마다 다른 디렉터리에 저장할 수 있습니다.

또는 다른 git 저장소에 파일을 관리하는 훅 스크립트 (post-checkout)를 작성할 수 있습니다.

3

힘내는 의도적으로 실수로 데이터를 잃어 버리게 만듭니다. 예를 들어, git add을 잊어 버린 소스 파일이 있다면 어떻게해야합니까? 작업 사본을 정리하는 데 도움이되는 git clean 명령이 있습니다. -x 플래그를 전달하면 보통 .gitignore에 의해 무시되는 파일도 제거됩니다. 당신이 더 많은 제어를 원하는 경우, 예를 들어,

git clean -f -x 

, 당신은 파일의 목록을 얻을 수있는 --dry-run 플래그를 전달할 수 있습니다 그리고 당신은 특정 파일 종류 (예를 들어, * .LOG)을 찾기 위해 몇 가지 쉘 스크립트를 작성할 수 있습니다.

그런 다음이 스크립트를 사후 체크 아웃 스크립트로 설치할 수 있습니다 (예제는 git-hooks 참조).

관련 문제