나는 Git을 사용하여 디렉토리 이름을 바꾸기 위해 master를 분기 한 프로젝트를 가지고있다.Git : 브랜치의 디렉토리 이름 바꾸기
분기의 이름이 예상대로 작동합니다. 마스터 브랜치로 다시 전환하면 디렉토리의 원래 이름이 있지만 브랜치에서 이름을 변경 한 빈 디렉토리 트리도 있습니다.
이것은 예상되는 동작입니까? 단계가 빠졌습니까?
빈 디렉토리 트리가 나타나는 즉시 삭제하면됩니까?
나는 힘내가 빈 디렉토리를 추적하지 못한다는 것을 알고 있으며, 이것이 요인 일 수 있습니다.
# create and checkout a branch from master
/projects/demo (master)
$ git checkout -b rename_dir
# update paths in any affected files
# perform the rename
/projects/demo (rename_dir)
$ git mv old_dir new_dir
# add the modified files
/projects/demo (rename_dir)
$ git add -u
# commit the changes
/projects/demo (rename_dir)
$ git commit -m 'Rename old_dir to new_dir'
나는이 점에 도착하고 모든 것이 예상대로 :
나의 현재 워크 플로우는
# old_dir has been renamed new_dir
/projects/demo (rename_dir)
$ ls
new_dir
내가 마스터로 다시 전환 할 때 문제가 온다 :
/projects/demo (rename_dir)
$ git checkout master
# master contains old_dir as expected but it also
# includes the empty directory tree for new_dir
/projects/demo (master)
$ ls
old_dir new_dir
new_dir은 비어있는 디렉토리 트리이므로 git은 그것을 추적하지 않습니다. 그러나 거기에있는 것은보기 흉합니다.
FWIW, 1.6.3.1에서는 동작하지 않습니다. master의 최종 체크 아웃 후 new_dir이 사라졌습니다. 어떤 버전을 사용하고 있습니까? –
msysgit 1.6.4을 사용하고 있습니다. – jmohr
new_dir에 숨겨진 untracked. * 파일이 있습니까? –