짱짱해커가 되고 싶은 나

03. Git 본문

Web

03. Git

동로시 2021. 3. 26. 01:01

Commit History : 여태까지 한 커밋들

git log : commit history를 보여줌, 가장 오래 된 커밋이 가장 아래에 있다.

 

git은 각각의 커밋에 id(해시)를 붙여서 관리한다.

commit author, date, commit message 등이 history에 들어있다.

 

git log --pretty=oneline : commit message만 보여주면서 한 줄로 보여준다.

HEAD는 어떤 커밋 하나를 가리키는데 보통 가장 최근에 한 커밋을 가리킨다.

working directory의 내부는 HEAD가 가리키는 커밋에 따라 다르게 구성된다.

 

git reset --hard commitId : 해당 커밋으로 갈 수 있으며 hard옵션은 워킹 디렉토리도 과거 커밋으로 바뀐다. (과거 커밋으로 돌아갈 수 있다) 이때 현재 커밋은 사라지는 것이 아니고 git reset으로 이후의 커밋으로도 이동할 수 있다.

git reset의 옵션은 hard, soft, mixed가 있다.

 

git show commitId : 해당 커밋에 어떤 변화가 있었는 세부적인 것을 보여줌 (id를 앞에 한 4자리만 해도 됨)

이전 커밋과의 차이점을 보여주는데 -는 해당 커밋 바로 이전의 모습이고 +는 해당 커밋의 모습이다.

 

git commit : commit 메시지를 입력할 수 있는 창을 열어준다.

이렇게 할 경우 복잡하고 긴 commit 메시지를 남기기 쉽다는 장점이 있다.

파일을 고치고 add 한 뒤

git comiit --amend : 최신 커밋을 수정할 수 있다. (커밋 아이디는 바뀐다)

 

git config alias.history 'log --pretty=oneline'

이렇게 하면 git log --pretty=online 대신에 git history를 사용하면 된다.

 

git diff 이전 커밋 id 이후 커밋 id : 두 커밋 간의 차이점을 보여준다.

 

git tag 태그이름 커밋이름 : 해당 커밋에 태그를 달 수 있다.

git tag : 이 프로젝트 디렉토리에 있는 모든 태그 조회

git show 태그이름 : 해당 태그에 연결된 커밋 조회

 

* 커밋 가이드라인

- 하나의 커밋에는 하나의 수정사항만 남기는 것이 좋다.

- 현재 프로젝트 디렉토리의 상태가 그 내부 전체 코드를 실행할 때 에러가 발생하지 않을 경우에 커밋을 한다.

과거 커밋이라고 해도 과거 버전의 프로그램을 사용하거나 그 커밋으로 리셋하거나 그 커밋을 기준으로 다른 프로젝트를 할 수 도있기 대문에 매 커밋의 코드들은 항상 정상 실행되는 상태의 코드여야한다.

 

'Web' 카테고리의 다른 글

05. Git  (0) 2021.03.28
04. Git  (0) 2021.03.27
02. GitHub  (0) 2021.03.26
01. Git  (0) 2021.03.25
[HTML/CSS] 쇼핑몰 구현  (0) 2021.03.09
Comments