강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

sun님의 프로필 이미지
sun

작성한 질문수

Git & GitHub, 원리부터 차근차근 - 근본깃 [완성편]

브랜치 생성하고 이동하기 #git branch #git checkout #git switch ★

다른 폴더의 커밋내역도 함께 뜹니다.

해결된 질문

작성

·

136

0

안녕하세요! 강의 보면서 공부하고 있습니다!

예제 보여주시면 저도 폴더를 만들어서 같은 예제 상황을 만들어서 똑같이 따라고 하고 있는대요!

git diff 나 git log 명령어 등을 사용했을 때

해당 폴더가 아닌 다른 폴더 커밋과 차이점이 같이 나와서요~

예시1.png.webp

위 캡쳐 이미지를 보시면 제가 브랜치 연습을 위해 만든 branch01폴더에서 rectangle 파일을 만들고 git diff 명령어를 사용했을 때, diff를 연습할 때 만든 diff_commit 폴더의 rectangle 상태를 보여주고 있습니다.

예시2.png.webp

위 캡쳐는 git log했을 때인데요! 오늘이 10일인데 전날 연습했던 다른 폴더의 커밋 내역들까지 보입니다.

 

git bash는 해당 폴더에서 오른쪽 마우스로 git bash here를 눌러 새 창을 열어서 사용했습니다.

이번 영상 7분 18초 쯔음보면 커밋 2개가 조회 된다고 하는데

전 어제 것 까지 13개 커밋 내역이 나오는 상황입니다. 어떤 점이 문제 일까요?

 

답변 부탁드립니다. 감사합니다.

답변 3

0

geek님의 프로필 이미지
geek
지식공유자

안녕하세요, sun 😆

문제는 해결되었을까요??

 

추가적으로 궁금하신 부분이나 헷갈리는 점이 있다면, 무엇이든 자유롭게 질문해주세요!

 

감사합니다 :)

sun님의 프로필 이미지
sun
질문자

감사합니다! 폴더 생성할 때마다 git init 을 꼭 해줘야겠네요!

0

geek님의 프로필 이미지
geek
지식공유자

안녕하세요, sun 😃
정확한 원인을 말씀드리기 어렵지만,
보여주신 그림과 강의 진도를 보고 '추측'해서 말씀드려요!

제 생각으로는..
'.git' 폴더의 위치가 /Desktop/project 인거 같아요.
그러니까, sun의 폴더 구조는 아래와 같다는 내용입니다.

/Desktop
/Desktop/project
/Desktop/project/.git
/Desktop/project/branch01
/Desktop/project/branch01/rectangle
/Desktop/project/project_diff_commit
/Desktop/project/project_diff_commit/rectangle

정리하자면, branch01project_diff_commit은 별개의 깃 프로젝트가 아니고.
project라는 하나의 깃 프로젝트에 포함된 폴더로 간주된 상황인 듯 해요.
그러면 위와 같은 문제가 발생할 수 있거든요 ㅎㅎ

우선, ls-al 명령어로 '.git'폴더의 위치를 확인해주실 수 있나요?
같이 이 문제를 해결해봅시다!

sun님의 프로필 이미지
sun
질문자

안녕하세요! 말씀해주신 폴더 구조가 맞습니다.

ls-al 명령어를 사용해 봤는데요! 이렇게 보입니다!

브랜치01 폴더에서 실행하면 이렇게 나오고요!

예시3.png.webp

 

projects 폴더에서 실행하면 이렇게 나와요!

예시4.png.webp

 

그럼 폴더를 어떻게 구분해야 할까요;?

geek님의 프로필 이미지
geek
지식공유자

보여주신 그림으로 봤을 땐,
branch01 폴더에 .git 폴더가 있네요!

우선 원하는 결과를 보시려면,
폴더마다 git init 명령어를 실행해서 '.git' 폴더를 생성해야 합니다!

0

안녕하세요, 인프런 AI 인턴입니다. sun님께서 Git을 사용하실 때 예상치 못한 커밋 내역이 표시되는 상황에 대해 질문해 주셨습니다.

문제의 원인

Git 명령어를 실행할 때 예기치 않게 많은 커밋 내역이 보이거나 의도하지 않은 디렉토리의 파일이 함께 표시되는 경우, 이는 주로 Git의 리포지토리 초기화와 관련되어 있습니다.

가능성 있는 원인:

  1. Git 리포지토리 범위 확장: Git은 특정 디렉토리만을 관리하는 것이 아니라 해당 디렉토리와 하위 디렉토리 전체를 하나의 리포지토리로 관리합니다. 만약 최상위 디렉토리에서 git init이 실행되었다면, 하위의 다른 디렉토리도 같은 리포지토리에 포함됩니다.

  2. .git 디렉토리 위치: 현재 작업 중인 디렉토리가 원하지 않는 다른 디렉토리들과 함께 같은 리포지토리에 포함될 수 있습니다. 이는 .git 디렉토리가 상위 디렉토리에 위치한 경우일 수 있습니다.

  3. 브랜치 공유: 여러 폴더에서 작업할 때, 동일한 리포지토리를 공유하며 브랜치가 함께 사용되고 있을 가능성이 있습니다.

해결 방법:

  • 현재 리포지토리 위치 확인:

    • .git 디렉토리를 찾기 위해 git 명령어를 실행하는 폴더에서 상위 파일을 확인하세요. .git 폴더가 위치한 경로는 리포지토리의 시작 지점입니다.
  • 독립적인 리포지토리 생성:

    • 별도의 프로젝트 혹은 폴더에서 독립적인 기능을 테스트하고 싶다면 새로운 디렉토리를 만들고 그 안에서 git init을 실행하여 분리된 리포지토리를 생성하는 것이 좋습니다.
  • git log와 git diff의 옵션:

    • git log --oneline이나 git diff <directory>를 사용하여 특정 디렉토리나 간단한 로그만 볼 수 있도록 필터링할 수 있습니다.

참고 링크로 유사한 문제에 대한 답변을 포함한 게시물을 추천드립니다:
- Git에서 특정 폴더의 커밋 내역 및 diff 편리하게 보기

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

sun님의 프로필 이미지
sun

작성한 질문수

질문하기