2017-02-13 1 views
0

힘내를.GIT : 파일을 모든 브랜치에 추가합니다.

나는 master의 분기를 만들었습니다. 나는 그 지점에서 일하고있다. 그런 다음 새 분기에 새 파일을 만듭니다. 그런 다음 다시 마스터로 전환하여 무언가를 봅니다.

내가 추가 할 파일로 마스터로 전환하면 방금 추가 한 파일을 볼 수 있습니까? 나는 그 파일을 master 브랜치에 추가하고 싶지 않다. 그 가지들이 서로 완전히 독립적이라고 생각하지 않습니까? 나는 그것을 master 브랜치가 아닌 새로운 브랜치에 추가했다. 가지를 어떻게 분리 할 수 ​​있습니까?

+0

Thilo (정답) 이외에 세 가지 "부분"(여기에 사용할 용어가 확실하지 않음)을 기억해 두는 것이 좋습니다. 커밋 할 때 작업하는 것들이 있습니다. * 커밋 * 저장소 내부에는 * 색인 (또는 * 준비 영역 * 또는 때로는 * 캐시 *라고 함)과 파일을보고 편집 할 수있는 * 작업 트리 *가 있습니다. 작업 트리에있는 파일은 작업 트리에있는 것입니다. 'git add'ed 파일은 작업 트리 *와 *에 있습니다. 인덱스는 * git commit 할 때 * 다음 커밋이되지만 그때까지는 파일이 인덱스에 그냥 떠있게됩니다. – torek

답변

2

git add 파일이 있지만 커밋 전에 분기를 전환하면 준비된 추가 작업이 다른 분기 변경과 마찬가지로 새 분기로 이월됩니다. 분기를 바꾸기 전에 아마도 commit을 원했을 것입니다.

분기간에 작업 복사본을 전환 할 때 저장소에 추가되지 않은 파일을 포함하여 커밋되지 않은 변경 사항이 보존됩니다.

새 파일을 만들면 저장소에 자동으로 추가되지 않으므로 git add myFile (그리고 결국 commit)을 수행해야합니다.

또는 다른 방법으로 보면 분기를 전환 할 때 파일이 작업 복사본에 남아 있더라도 명시 적으로 추가하고 커밋하지 않는 한 다른 분기의 일부가되지 않습니다.

+0

사실 나는 자식을 하나도 추가하지 않았으며 방금 파일을 생성하여 폴더에 추가했습니다. 그러나 할 일이 가장 좋은 것 같은 소리는이 문제를 피하기 위해 변화를 은폐하는 것입니다. 전환하기 전에 완료되었는지 확인해야합니다. 파일 변경도 혼란 스러울 수 있습니다. 왜냐하면 어떤 파일이 어떤 브랜치에서 변경되었는지 알 수 없기 때문입니다. – user1161137

관련 문제