본문 바로가기
study/Github

Git 여러 파일 커밋하기 / 로그보기 / 비교하기 / 롤백하기

by 고기만두(개발자) 2021. 10. 2. 16:41
728x90
반응형

git add
어제에 이어 새로 파일을 만들어보자

nano 편집기를 통해 hello1.txt 를 수정하고, hello2.txt를 새로 만들었다.

git status 를 통해 상태를 확인해보면 hello1.txt가 수정되었고, hello2.txt가 untracked 상태라고 뜬다.

 

파일 여러개를 동시에 커밋할 수 있을까?

그렇다. 근데 자동은 아니다.

 

git add 를 통해 hello1, hello2 각각을 스테이지에 올린 뒤 상태를 다시보면

커밋할 변화가 있다고 파일 2개가 뜨는 것을 확인할 수 있다.

 

git commit
commit하고 git log 확인하기

Message3 이라는 메모 붙여서 git commit 실행

* -a : 별도의 add명령어를 사용하지 않고 수정된 파일에 대해 add, commit을 한번에 수행할 수 있는 커밋 명령어이다.

단, 한번도 add되지 않은 파일은 add를 따로 작업해줘야 한다는 함정이 있다

 

커밋하고 git status를 보면 이제 더이상 커밋할 게 없다고 뜬다.

 

이 상태에서 git log 를 실행해보자.

그간 어떤 커밋이 벌어졌는지 로그를 볼 수 있다.

git log
git log --stat

로그와 함께, "어떤 수정이 일어났는지"를 더 디테일하게 알고 싶다면?

git log --stat

git diff
git diff, git reset

git diff 를 통해 바로 직전 버전과의 차이점을 캐치할 수 있다.

-3 +four : 3을 없애고 four 을 추가했다는 뜻

 

현재 hello1.txt의 내용은 1 2 four이다.

그런데 이전버전으로 롤백하고 싶다면?

git reset --hard

현재 작업 위치인 HEAD의 포인터를 직전 위치로 변경해버림으로써, 롤백을 할 수 있다.

cat hello1.txt 을 다시 실행해보면 이전버전인 1 2 3 이 나타난다.

 

git log p
git log -p

git log -p를 통해 바로 직전 커밋과의 비교, 변경내용 확인이 가능하다.

 

 

-참고자료-

git 공식문서가 있다. 구글링하다보면 한국어 버전도 있는 것 같았는데..

 

Git - git-log Documentation

If the commit is a merge, and if the pretty-format is not oneline, email or raw, an additional line is inserted before the Author: line. This line begins with "Merge: " and the hashes of ancestral commits are printed, separated by spaces. Note that the lis

git-scm.com

 

GIT2 CLI 버전관리 - 생활코딩

 

728x90
반응형

댓글