강의

멘토링

로드맵

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

부리부리님의 프로필 이미지
부리부리

작성한 질문수

git chekout 오류

작성

·

131

·

수정됨

1

 

git 사용이 처음이라 거의 모든 작업을 dev2 브런치에서 진행해서 dev2를 main에 덮어쓰고 싶은데

checkout하는 과정에서 위와 같이 오류가 납니다

main 브런치로 checkout 할 때는 오류가 안나는데 dev2만 저래요
dev2에 작업 내용 다 있어서 날아가면 안되는데 ㅠㅜ 방법이 있을까요
구글링 해보니 untracked 파일들을 삭제하면 된다고 하는데 gradle 관련 파일들이라 지우면 안될 것 같아서요 답변 기다리겠습니다!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

오류 메시지에 따르면, dev2 브랜치로 체크아웃하려고 할 때 gradle/wrapper/gradle-wrapper.jar, gradle/wrapper/gradle-wrapper.properties, gradlew, gradlew.bat와 같은 Gradle 관련 파일들 때문에 문제가 발생하는 것으로 보입니다. 이 파일들은 Gradle 빌드 시스템의 일부로, 프로젝트 빌드를 위해 필요한 파일들입니다. 이 파일들을 삭제하는 것은 권장되지 않습니다.

이러한 파일들이 변경되지 않고 untracked 상태인데 브랜치를 전환하려고 할 때 오류가 발생하는 경우가 있습니다. 이 문제를 해결하는 방법은 다음과 같습니다:

  1. 변경되지 않은 untracked 파일을 임시로 다른 곳에 백업할 수 있습니다. 그리고 브랜치를 성공적으로 체크아웃한 후에 다시 해당 파일들을 프로젝트 위치로 복원할 수 있습니다.

  2. 또 다른 방법으로는 git stash 명령어를 사용해서 현재 변경사항(트래킹되지 않는 파일 포함)을 임시로 저장한 다음 브랜치를 전환할 수 있습니다. 브랜치 전환 후, git stash pop을 사용하여 이전에 저장했던 변경사항을 복원할 수 있습니다.

    git stash push -u
    git checkout dev2
    git stash pop
    

    이렇게 하면 untracked 파일들을 임시로 숨긴 뒤 필요할 때 다시 복원할 수 있습니다.

  3. 만약 dev2 브랜치에서 변경한 사항이 있다면, 그 변경 사항들을 커밋하여 현재 상태를 저장한 다음에 브랜치를 전환하는 것도 방법입니다. 먼저 변경 사항을 스테이징하고 커밋합니다:

    git add .
    git commit -m "변경 사항 저장"
    
  4. 충돌을 방지하기 위해, dev2 브랜치의 최신 상태를 가지고 있는지 확인하고, 필요하면 main 브랜치의 최신 상태를 dev2에 병합하거나 리베이스하는 것도 좋은 방법입니다.

어떤 방법을 사용할지 선택하는 것은 현재 작업의 상태와 어떤 파일이 변경되었는지, 그리고 개인의 선호도에 따라 달라질 수 있습니다. 중요한 것은 원하지 않는 변경 사항을 잃어버리지 않도록 주의하는 것입니다.

부리부리님의 프로필 이미지
부리부리

작성한 질문수

질문하기