깃 공부하기 굉장히 좋은 싸이트. 하나하나 겉넘지말고 따라해보기!
learngitbranching.js.org/?locale=ko
Learn Git Branching
An interactive Git visualization tool to educate and challenge!
learngitbranching.js.org
깃명령어 나열
- commit: 아는거
- branch: 아는거
git log --all --graph --decorate --oneline
* 로그상에서 브랜치 그래프를 보여줄 수 있다!!
git push origin --delete {브랜치명}
*브랜치 원격삭제시
- checkout: 아는거
- cherry-pick: 모르는거
- reset: 모르는거
- revert: 모르는거
git revert --no-edit f665b8f
- rebase: 모르는거
- merge : 아는거
GIT 기본 챕터
1. Git commit 소개 : 완료
2. Git branch 쓰기 : 완료
3. Git merge : 완료
4. git rebase : 완료
rebase 핵심:
리베이스는 기본적으로 커밋들을 모아서 복사한 뒤, 다른 곳에 떨궈 놓는 것입니다. 조금 어렵게 느껴질 수 있지만, 리베이스를 하면 커밋들의 흐름을 보기 좋게 한 줄로 만들 수 있다는 장점이 있습니다. 리베이스를 쓰면 저장소의 커밋 로그와 이력이 한결 깨끗해집니다. bugFix 브랜치에서의 작업을 main 브랜치 위로 직접 옮겨 놓으려고 합니다. 그렇게 하면, 실제로는 두 기능을 따로따로 개발했지만, 마치 순서대로 개발한 것처럼 보이게 됩니다.
* merge는 합치고싶은 브랜치에서 다른 브랜치꺼를 가져오고 rebase는 보내고싶은 브랜치에서 다른 브랜치로 넘기는느낌.

1. HEAD 분리하기: 완료
HEAD는 현재 체크아웃된 커밋을 가리킵니다. HEAD는 항상 작업트리의 가장 최근 커밋을 가리킵니다. 일반적으로 HEAD는 브랜치의 이름을 가리키고있습니다
HEAD 분리하기
HEAD를 분리한다는 것은 HEAD를 브랜치 대신 커밋에 붙이는 것을 의미합니다.
* 브랜치와 commit이 나누어진 부분이 헷갈렸는데 아래 블로그에서 자세히 설명 thanks.

2. 상대참조(^)
상대 커밋은 강력한 기능인데, 여기서 두가지 간단한 방법을 소개하겠습니다.
- 한번에 한 커밋 위로 움직이는 ^
- 한번에 여러 커밋 위로 올라가는 ~<num>
git checkout HEAD^

3. 상대참조#2 (~)
커밋트리에서 위로 여러 단계를 올라가고 싶을 수 있습니다. ^를 계속 입력해서 올라가는것 말고 좋은 방법이 있습니다. Git 에는 틸드 (~) 연산자가 있습니다.
git checkout HEAD~4
*위로부터 1이 카운트됨
상대 참조를 사용하는 가장 일반적인 방법은 브랜치를 옮길 때 입니다. -f 옵션을 이용해서 브랜치를 특정 커밋에 직접적으로 재지정 할 수 있습니다.
git branch -f main HEAD~3

4. Git에서 작업 되돌리기
Git에서 변경한 내용을 되돌리는 방법은 크게 두가지가 있습니다 -- 하나는 git reset을 쓰는거고, 다른 하나는 git revert를 사용
* 로컬에서는 git reset 쓰고 원격에 영향을 미칠려면 git revert를 쓰자
git reset HEAD~1
git revert HEAD // 혹은 해쉬ID를 사용해도됨


작업을 여기저기로 옮기기
현재 위치(HEAD) 아래에 있는 일련의 커밋들에대한 복사본을 만들겠다는 것을 간단히 줄인 말입니다.
git cherry-pick C2 C4

'Self-Development > Learning Note' 카테고리의 다른 글
| [Youtube 정리] 김승호회장의 사장학 개론 (3) | 2023.04.22 |
|---|---|
| [IsaccSim] 아이작 심 알아보기 (2) | 2022.12.25 |
| [Youtube 정리][경제] 당장 실천해야 할 14가지 자수성가 계획법 (0) | 2022.10.14 |
| [Basic] c 혹은 c++ 파일들 linux에서 컴파일 및 실행시키기 (0) | 2022.06.30 |
| 개발자의 글쓰기 - (01)네이밍 컨벤션 (0) | 2022.06.29 |
댓글