Git 역할
형상 관리를 할 수 있는 협업 도구이다. 모든 파일들의 지난 내역들을 저장해둔다.
Git 흐름도
(1) -> (2) -> (3) -> (4) 순서대로 진행한다.
(1) Working Directory
우리가 작업하고 있는 파일.
* untracked
- 새로 만들어져서 추적이 아직 되지 않은 파일
* tracked
- 추적이 된 파일
- unmodified와 modified로 나누어지고, 이 때 modified된 파일들만 Staging Area로 넘어갈 수 있다.
(2) Staging Area (add)
commit할 준비가 되어있는 파일들을 올리는 장소.
(3) .git Directory (commit)
버전의 히스토리를 가지고 있다.
(4) remote (push)
(1), (2), (3)이 모두 로컬에서 진행되는데, 이 진행되는 것을 서버에 업로드한다.
Git 대표 사용법
<Reset - 과거로 돌아가기 (그 이후 로그는 삭제)>
즉, 그림에서 살펴보면 "ADD dog"과거로 돌아가고, 현재의 "ADD MODIFY DELETE" 트랜잭션은 삭제하는 방식
git log
git reset 일련번호앞6글자 --hard // 여기서 일련번호는 돌아가고싶은 장소
<Revert - 과거로 돌아가기>
가장 최신의 트랜잭션을 reset하여, 과거로 돌아간다. 이 때, 앞에 설명했던 Reset과는 달리 로그가 남아있다.
git log
git revert 일련번호앞6글자 // 여기서 일련번호는 가장 최근 트랜잭션
이렇게 실행한뒤, commit 메세지가 뜨면 ;q 입력한다. (그대로 저장하겠다는 명령어)
<branch를 활용한 작업>
git branch 이름 // git branch 생성 (git my-idea)
git branch // 생성된 git branch 확인
git checkout master // 이전 master 상태로 돌아가기 (git checkout master)
git branch -D my-idea // 다쓴 branch 삭제하기
<Merge - 다른 브런치에서 가져오기>
git checkout master // 변화된 branch를 가져와야할 장소
git merge my-another-idea // 가져올 장소
git log --graph --all --decorate // branch 그래프 확인
<Reverse - 다른 브런치에서 가져오기>
Merge에서는 branch graph가 여러 갈래로 파생된다. 하지만 Reverse를 이용하면 하나의 graph로 구현할 수 있다.
출처: 드림코딩 by 엘리 (유튜브), 얄팍한 코딩사전 (유튜브)
'협업툴 > Git' 카테고리의 다른 글
[Git] 회사에서 Git 사용하는 법 (feat. 학교 선배) (1) | 2021.12.26 |
---|---|
[Git] 기존 Repository 무시하고 새로운 Project로 덮어쓰기 (+ branch 변경하기) (0) | 2021.10.09 |
[Git] Push시, "현재 브랜치 master에 업스트림 브랜치가 없습니다." 오류 (0) | 2021.07.23 |
[Git] Push시, "Remote 저장소에서 읽을 수 없습니다." 오류 (0) | 2021.07.23 |
[Git] 초보자를 위한 간단한 Git 사용법 모음 2탄 (0) | 2021.07.21 |