git: 프로젝트 루트에서 git 저장소를 초기화해야 하나요, 아니면 프로젝트의 각 중요한 부분에서 초기화해야 하나요?

git: 프로젝트 루트에서 git 저장소를 초기화해야 하나요, 아니면 프로젝트의 각 중요한 부분에서 초기화해야 하나요?

질문에서 언급했듯이, 저는 4개의 하위 디렉터리를 포함하는 프로젝트 루트 디렉터리를 가지고 있습니다. 각 디렉터리에는 프로젝트의 특정 개별 측면과 관련된 스크립트/바이너리 및 도트 파일이 포함되어 있습니다. Git 저장소를 초기화해야 하나요?

  1. 프로젝트 루트 디렉터리에서
  2. 각 하위 디렉터리에 하나씩 있습니다.
  3. 둘 다(즉, 프로젝트 루트에 하나, 각 디렉터리에 하나)

현재 프로젝트 루트에서 하나가 초기화되어 있습니다. 거기에서 실행 하면 git status수정된 하위 디렉터리만 표시되고 해당 하위 디렉터리에서 변경된 실제 파일은 표시되지 않습니다. 따라서 이 설정을 사용하면 실행해야 할지 git add <subdirectory>, 아니면 git add <path/to/file>...그러므로 혼란이 시작되는지 궁금합니다 .

티아!

답변1

저장소 레이아웃과 관련하여 나열된 모든 옵션이 가능합니다! 가장 간단한 옵션은 프로젝트 루트 디렉터리에 git 저장소를 만드는 것입니다. 프로젝트가 매우 복잡하지 않은 한 이 옵션을 사용하는 것이 좋습니다.

각 하위 디렉터리 내에 하위 디렉터리를 생성하면 디렉터리의 변경 사항이 독립적일 때 이점이 있지만 저장소 사용이 복잡해질 수 있습니다.

각 하위 디렉터리에 하나씩 생성그리고프로젝트 루트는 사용하려는 것입니다.자식 하위 모듈. 모든 디렉터리를 git 하위 모듈로 만들면 해당 디렉터리를 독립적인 저장소로 사용하고 변경 사항을 개별적으로 커밋할 수 있으며, 루트 git 저장소를 사용하면 특정 하위 모듈의 어떤 버전이 함께 작동하는지 추적할 수 있습니다.

출력 정보 git status: 디렉터리가 완전히 새로운 경우 git status해당 디렉터리만 실제로 표시됩니다. 간결성을 위해 출력이 너무 길지 않습니다. 실제로git 자체는 디렉토리에 신경 쓰지 않습니다.(당신은 또한 볼 수 있습니다이 문제), 그 안에 있는 파일만 관련됩니다. 빈 디렉토리가 있으면 git은 신경 쓰지 않으며 빈 디렉토리를 커밋할 수 없습니다.

directory/subdirectory/fileGit은 디렉터리에 대한 정보가 아닌 파일과 해당 전체 경로(예: )만 저장합니다 . (이것이 거의 빈 디렉토리의 일반적인 관행이 개발된 이유입니다: 빈 파일을 생성하는 것, .gitkeep다른 디렉토리 항목 없이 디렉토리를 떠나는 것)

git add따라서 전체 디렉토리인지 아니면 그 안에 있는 모든 파일인지는 아무런 차이가 없습니다. 디렉토리를 추가하는 것은 git에게 해당 디렉토리의 모든 파일을 추가하도록 지시하는 간단한 방법일 뿐입니다.

관련 정보