본문 바로가기
Server/git

[Github] 파일 수정하고 다시 커밋하기

by 꼬바리 2021. 5. 6.

1. Working Directory(작업 디렉토리)에서 파일 수정

이미 원격 저장소에 push했던 C++파일을 수정했다.

수정한 파일은 로컬 저장소(내 컴퓨터 내의 저장소)에만 적용되었고

원격 저장소(git)에는 반영되지 않았다.

즉, 현재는 로컬 저장소와 원격 저장소의 상태가 다르다고 할 수 있다.

수정 내역을 원격 저장소에도 반영시켜보자.

 

2. Tracked & Modified 상태인 파일 Stage하기 (스테이징 영역으로 이동)

git bash로 커맨드를 열고 git status명령으로 파일 상태를 확인했다.

changes not staged for commit

이라며 방금 수정한 파일이 modified(수정)됐다고 나온다.

changes not staged for commit를 직역하면 "변경사항이 commit을 위한 stage되지 않았다" 이다.

즉 이 파일이 Tracked이긴 하지만 작업 디렉토리(working directory)에서 수정했기 때문에

아직 staged상태는 아니라는 것이다.(=스테이징 영역에 있지 않은 상태)

 


 

출처:  https://dev.to/sublimegeek/git-staging-area-explained-like-im-five-1anh

 

잠시 이 그림을 살펴보면 지금 작업 디렉토리에 있는 수정된 파일을

git add명령어를 통해 staging area로 이동시켜줘야 한다는 것이다.

 

*) git add의 의미를 다음 commit에 추가한다 라고 생각하는게 좋다고 한다 !!

 


 

다시 돌아와

git add로 수정된 파일을 staging area로 이동시킨다.

git status로 modified파일이 changes to be committed상태로 바뀐 것을 확인한다.

이 파일은 stage되었으므로 이제 commit될 준비를 마친 것이다.

 

*) 가장 최근에 add명령을 실행한 버전이 staged 상태, 다음 commit의 대상이 됨

 

3. 커밋 메세지와 함께 commit하기

git commit -m "커밋 로그"

명령어로 파일 변경 사항을 commit한다.

 

4. master branch에 push하기

git push origin master main

*기존 master 브랜치 명이 main으로 변경되었어요!

명령어로 내 원격 저장소의 마스터 브랜치에 최종적으로 push해준다.

 

 

github의 repository에도 이전 버전과의 변경 사항 커밋이 잘 반영된 모습을 볼 수 있다.

(additions과 deletions)

 

출처 : https://corinediary.tistory.com/7
728x90
반응형

댓글