git status 명령어 : working tree의 상태를 본다.

GIT 2021. 2. 16. 07:00

 git을 하다 보면, working tree의 상태를 자주 보게 됩니다. 이를 위해서 쓸 수 있는 명령어는 git status입니다.

 


 

 먼저, SpringEx1 프로젝트에서 SpringEx1Application.java를 바꾸었습니다. 몇 개의 줄을 지웠다는 것을 알 수 있습니다.

 

 

 그리고 saveAll을 누르면 SpringEx1Application에 하늘색이 들어왔다는 것을 알 수 있습니다. 이것은 어떤 상태일까요? 수정은 되었지만, 반영은 되지 않은 상태입니다.

 

 

 해당 프로젝트의 루트 경로에서, git status 명령어를 입력해 봅시다. 그러면, modified라는 내용이 뜹니다. 이 내용이 있는 것으로 보아서는, 해당 파일은 변경 내용이 tracking이 되고 있는 상태입니다. 단지, 수정이 된 상태인데, 아직 로컬 저장소에 커밋이 되지 않은 상태입니다. 그리고 바뀐 내용이 staged가 되지 않았다는 것으로 보아서는, 업데이트가 된 내용들이, stage가 되었다는 정보를 저장하는 곳에도 업데이트가 되지 않았다는 이야기가 되겠군요. 이건 또 뭘까요? 이 글에서는 그런 게 있다는 정보만 알고 넘어가시면 될 듯 싶습니다.

 

 use git add를 하라고 하니, 이 명령어를 써 보겠습니다.

 

 

 요렇게 하시면 됩니다. 이것은 현재 git bash를 킨 위치로부터 src/main/java/com/example/demo/SpringEx1Application.java 파일을 add 하겠다는 의미입니다. git 명령어를 쳐 보면 add는 파일 contents를 인덱스에 추가한다 정도로만 설명이 나와 있습니다.

 

 

 다시 git status로 확인해 보면, Changes to be committed로 바뀌었음을 알 수 있습니다. 그리고, 해당 파일이, add 명령어가 수행된 후에는 staged가 되었음을 알 수 있습니다.

 

 

 인텔리 제이에서는 git commit 정도는 쉽게 할 수 있습니다. 메세지는 second commit으로 입력하고, commit을 하겠습니다.

 


 커밋을 했다면, 로컬에는 second까지 올라간 상황입니다.

 

 

 다시, git status를 보도록 하겠습니다.

 

 

 그러면 뭔가 뜨면서 git push를 하라고 합니다. 로컬에 저장된 내용은 반영이 되었는데, remote에는 반영이 안 된 상황입니다.

 

 

 로컬 내용을 remote에 올리는 것을 push라고 합니다.

 

 

 push를 하시고 나서 다시 status를 보면, branch가 up to date라고 합니다.

 

 

 second commit 내용이 remote에도 잘 올라갔음을 볼 수 있습니다.

 

 

 SpringEx1Application.java에서 몇 개의 줄이 삭제되었다는 내용이 잘 반영되었음을 알 수 있습니다.