나는 종종 github와 연결되어 있는 프로젝트의 디렉터리 구조를 변경하곤 한다.
그럴 때마다, 위 사진에서 보이듯이, Changes not staged for commit
이라는 메세지가 뜨곤 하는데,
이번 포스팅에선 해당 메세지의 의미는 무엇인지, 어떻게 해결하면 되는지에 대해 다뤄보도록 하겠다.
Changes not staged for commit
의 의미Changes not staged for commit
의 의미는 무엇일까?
해당 메세지의 의미는 수정한 파일이 Tracked
상태이지만, 아직 Staged
상태는 아니라는 것이다.
아니.. Tracked
상태는 뭐고 Staged
상태는 뭔데? 라는 의문이 드는 사람도 있을 것이다.
이 두 상태는 무슨 상태를 의미하는 것인지 설명해 보도록 하겠다.
이전전전 포스팅에서 git의 workflow에 대한 설명을 하였던 것으로 기억한다. 이것을 먼저 보고 오면
이해가 훨신 수월할 것이다.
해당 포스팅의 링크
먼저 Tracked
상태는 git이 관리한적 있거나 관리하고 있는 상태를 의미한다.
Staged
상태는 무엇인가? 바로 현재 수정한 파일을 곧 커밋할 거라고 표시해둔 상태를 의미한다.
Staged
상태로 만들기 위해서는, git add
명령을 이용해야 한다.
아무튼, 다시 본론으로 돌아와서, Changes not staged for commit
인 경우, 즉 수정한 파일이 Tracked
상태이지만, 아직 Staged
상태는 아닌 경우
우리는 해당 파일을 Staged
상태로 만들기 위해git add
명령을 사용해야 한다.
git add
명령은 파일을 새로 추적할 때도 사용하지만, 수정한 파일을 Staged
상태로 만들 때도 사용하기도 한다.
이렇게 git add.
명령을 이용하여 해당 사항들을 Staging area
에 옮겨놓으면 다음과 같은 결과를 볼 수 있다.
폴더 구조를 변경하면서, 변경된 파일들의 경로가 ->
기준으로 어떻게 변경되었는지(renamed
) 나타내준다
이제, 이렇게 Staging area
에 올라간 변경사항들을 commit
하고 원격저장소에 push
하면 변경한 폴더 구조가 내 원격저장소에도 동일하게 적용되어 있는 것을 확인해 볼 수 있다.
https://www.wendybook.com/category/age?ic=1425&page=5
https://www.wendybook.com/book/detail/88708
https://m31phy.tistory.com/151
https://m.blog.naver.com/kore2758_/221259202488
https://ksjm0720.tistory.com/11
https://unabated.tistory.com/entry/gcc-%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EA%B3%BC%EC%A0%95
http://shinygirl33.tistory.com/65
https://www.debian.org/releases/stable/s390x/ch01s02.ko.html
https://dataonair.or.kr/db-tech-reference/d-lounge/expert-column/?mod=document&uid=52544