[GIT] Changes to be comitted에 new file이 남아있는 경우

Jay Ryu·2023년 2월 7일
0

troubleShooting

목록 보기
2/2

상황 설명 1.
commit 후 push하려는 작업 내용은 '기존 파일에 대한 수정' 과 '새로운 파일 2개 생성'이었다.

상황 설명 2.
기존에는 git bash창을 열어 명령어로만 git을 사용해왔는데, intelliJ 내부 기능을 통해 gui로 git을 사용하여 따로 bash창을 띄울 필요 없이 바로 코드를 push하려고 했다. intelliJ를 활용하여 commit까지 하는 데에는 성공했는데, push를 하려고 하니 intelliJ에 git계정 승인이 되어 있지 않아 다시 로그인을 해야하는 상황이 왔다. 그래서 그냥 bash창을 열어 intelliJ를 통해 commit했던 사항을 마저 push하려고 했는데, git log를 통해 확인해보니 intelliJ를 통해 commit했던 사항은 그대로 있어서 git push를 진행했다.

문제 상황:
그런데 push를 마친뒤 습관적으로 git status로 스테이지에 남아있는 파일은 없나 확인해보았더니 commit할 때 올라갔던 파일(새로 추가된 파일들이었다.)이 다음과 같이 남아있는 것을 확인할 수 있었다.

웹을 통해 git repository에 접속하여 push 완료된 사항들을 확인해보니 다음과 같이 기존 파일에 대한 수정 사항과 새로 생성한 2개의 파일 모두 정상적으로 업로드된 상태였다.

그럼에도 불구하고 git bash 창을 통해 git status를 확인하면 게시물의 첫번째 사진과 같이 new file이 스테이징 상태로 남아있었다.

해결:
간단히 bash창에서 commit을 하고 push하는 것으로 해결했다.

git status 명령어를 통해 확인해보면 working tree가 깨끗해진 것을 볼 수 있다.

원인(개인적인 생각이니 정확한 원인을 아는 분은 댓글로 공유해주시면 감사하겠습니다)
웹을 통해 git repository에 접속하여 push 완료된 사항을 확인해보니 다음과 같았다.

새로 생성했던 파일 2개에 대한 binary file이 push된 것으로 보아, git bash를 통해 push할 때 intelliJ에서 commit한 사항들 전체가 push되어야 하는데, binary file를 제외한 나머지 사항들만 push된 것으로 보인다. intelliJ에서 git 계정 연동을 하지 않은 채 commit을 하여 생긴 문제로 추측되는데...
찾아보니 IntelliJ에서 Git을 사용하려면 PC에 Git을 설치하고 Git 바이너리 파일을 IntelliJ에 등록해야 한다고 한다.
(참고 링크: https://atoz-develop.tistory.com/entry/IntelliJ%EC%97%90%EC%84%9C-GitGitHub-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EA%B8%B0%EC%A1%B4-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0)
그런데 git에 push된 내용으로 보면 git 바이너리 파일이 아니라 새로 생성했던 파일들의 binary File인 것으로 보이는데... intelliJ에 계정 연동을 하지 않은 채 commit을 하고 로컬에서 git bash를 통해 push하려고 하면 git을 통해 push하려는 모든 바이너리 파일이 정상적으로 push되지 않는 건가? 정확하게 알고 싶다...

어쨌든 오늘의 교훈:
1. commit과 push는 되도록 같은 환경에서 진행하자.(나는 commit은 intelliJ에서, push는 로컬의 git bash 창에서 진행했다.)
2. intelliJ에서는 git 계정 연동부터 올바르게 완료한 후 commit 및 기타 git 작업을 하도록 하자.

profile
백엔드의 세계

0개의 댓글