문제

디렉토리 이름을 바꾸기 위해 마스터에서 분기 한 Git을 사용하는 프로젝트가 있습니다.

지점의 이름 변경은 예상대로 작동합니다. 마스터 브랜치로 다시 전환하면 디렉토리에는 원래 이름이 있지만 브랜치에서 변경 한 이름이있는 빈 디렉토리 트리도 있습니다.

이것이 예상되는 행동입니까? 단계가 없어?
이 빈 디렉토리 트리가 나타나는대로 삭제하면 되나요?

나는 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은 추적하지 않지만 거기에있는 것은 추악합니다.

도움이 되었습니까?

해결책

예, 제거 할 수 있습니다. 당신은 또한 사용할 수 있습니다 git clean -d 디렉토리를 제거합니다.

다른 팁

새 디렉토리에 숨겨진 파일이있을 가능성이 높습니다. "LS -A Newdir"

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top