versioning

 

Working tree : 파일을 수정하는 곳 (버전으로 만들어지기 전 단계) 

-> 일단 어떤 수정이든 실행하면 Working tree에 올라감

 

Staging area : 버전으로 만들 파일의 모음 

-> Working tree에 있는 파일 중 버전관리를 하고픈 것을 (git add를 통해) Staging area로 이동

 

Repository : (git commit을 통해) 만들어진 버전

 

git init "디렉토리 경로" : 해당 경로를 리퍼지토리로 하여 버전관리 하라(initialize repository) -> git repository 생성(=.git)

(git init . : 현재 디렉토리를 리퍼지토리로)

 

git status : 상태 확인 (Working tree 상태)

 

git add 파일명 : 버전 관리를 위해 해당 파일을 Staging area에 올려라

git add 디렉토리명 : 해당 디렉토리 밑의 모든 파일을 add

(git add . 도 가능)

 

git commit : 커밋 실행(현재 Staging area의 상태를 가지고 버전 생성) (에디터 뜨면 거기서 동작 수행)

git commit -m "커밋 메세지" : 에디터 생략하고 해당 메세지로 바로 커밋

git commit -a : git add를 -a 옵션으로 주어 한 번에 처리할 수 있다

(단, 최초 한 번은 git add 로 untracked 상태를 벗어나야 -a 로 한 번에 처리 가능해짐. untracked일 때는 -a 안 먹힘)

git commit -amend : 커밋 메세지 수정

 

 

git log : 로그 확인

git log --stat : 버전 별로 좀 더 상세하게 로그 확인

git log -p : 버전 별로 삭제, 추가된 부분에 대한 로그 확인

git log --graph : 브랜치 관계를 그림으로 보여줌

git log --oneline : 각 버전을 한 줄로 간단하게 표시함

 

git diff : 최신 버전과 워킹 트리에 올라간 파일의 차이점을 보여줌

 

git reset --hard : 워킹트리의 내용을 지우고 파일을 최신 버전의 상태로 바꿈

git reset --hard 커밋ID : 워킹트리 내용도 지우고 해당 커밋 버전으로 리셋하겠다.
(해당 커밋이 마스터가 된다. 헤딩도 된다.) 

 

git checkout 커밋ID : 해당 커밋 버전의 브랜치에 헤드를 둔다

git checkout master : 마스터로 되돌아감

 

git revert 커밋ID : 해당 커밋에 대한 내용을 바로 이전 버전으로 되돌림

(R4는 유지한 채로 Revert R4를 만든다. 이때 Revert R4의 내용은 R4의 바로 전 버전인 R3과 완전히 동일)

(한참 전의 버전으로 돌아가고 싶다면 역순을 지켜서 revert를 실행해야 한다는데 무슨 말인지 이해 못함)

(당위성은 이해했는데 정확히 어떻게 revert를 해야하는지 모르겠음)

 

 

git config --global core.autocrlf true

 

 

 

 

 

 

branch, conflict

 

git branch : 생성된 브랜치들 모두 확인

(결과창에서는 head가 있는 브랜치에 *이 달려있게 된다)

git branch 브랜치명 : 해당 브랜치명으로 브랜치 생성

 

 

브랜치 생성 후 git log 하면 브랜치들까지 함께 확인 가능

 

여기서 "git check 브랜치명"을 통해 특정 브랜치에 헤드를 두고 해당 브랜치 수정 가능

 

git merge 브랜치명 : 현재 헤딩된 브랜치에 해당 브랜치의 내용을 병합함

(마스터에 헤딩된 상태에서 merge를 실행하면 병합된 새 브랜치가 마스터가 된다. 마스터가 아닌 브랜치에 헤딩된 상태에서 merge하면 새로운 브랜치가 생겨날 뿐 마스터는 그대로 유지된다.)

 

 

'기타' 카테고리의 다른 글

POSIX CLI  (0) 2021.01.09
Scanner, BufferedReader 입력  (0) 2021.01.08
인텔리제이 주요 단축키 모음  (0) 2020.12.27

+ Recent posts