작성
·
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 상태인데 브랜치를 전환하려고 할 때 오류가 발생하는 경우가 있습니다. 이 문제를 해결하는 방법은 다음과 같습니다:
변경되지 않은 untracked 파일을 임시로 다른 곳에 백업할 수 있습니다. 그리고 브랜치를 성공적으로 체크아웃한 후에 다시 해당 파일들을 프로젝트 위치로 복원할 수 있습니다.
또 다른 방법으로는 git stash
명령어를 사용해서 현재 변경사항(트래킹되지 않는 파일 포함)을 임시로 저장한 다음 브랜치를 전환할 수 있습니다. 브랜치 전환 후, git stash pop
을 사용하여 이전에 저장했던 변경사항을 복원할 수 있습니다.
git stash push -u
git checkout dev2
git stash pop
이렇게 하면 untracked 파일들을 임시로 숨긴 뒤 필요할 때 다시 복원할 수 있습니다.
만약 dev2
브랜치에서 변경한 사항이 있다면, 그 변경 사항들을 커밋하여 현재 상태를 저장한 다음에 브랜치를 전환하는 것도 방법입니다. 먼저 변경 사항을 스테이징하고 커밋합니다:
git add .
git commit -m "변경 사항 저장"
충돌을 방지하기 위해, dev2
브랜치의 최신 상태를 가지고 있는지 확인하고, 필요하면 main
브랜치의 최신 상태를 dev2
에 병합하거나 리베이스하는 것도 좋은 방법입니다.
어떤 방법을 사용할지 선택하는 것은 현재 작업의 상태와 어떤 파일이 변경되었는지, 그리고 개인의 선호도에 따라 달라질 수 있습니다. 중요한 것은 원하지 않는 변경 사항을 잃어버리지 않도록 주의하는 것입니다.