https://learngitbranching.js.org/?locale=ko
learngitbranching.js.org
여기를 통해서 배운다.
git의 명령어
commit
branch
checkout
cherry-pick
reset
revert
rebase
merge
git branch bugfix
'bugfix'란 브랜치를 만듦
git checkout bugfix
'bugfix'에 별표 달기 (의미가... 유닛 지정? 같은 거)
git merge master
*달린'bugfix'와 다른거랑 합치기
git rebase <갈 위치> <지정하기>
다른 곳으로 떨궈 놓는 작업
git checkout c2
브랜치 말고 커밋을 선택함으로써 head->commit으로 바로 가게 함.
브랜치가 선택되어있으면 head->brance->commit으로 간다나 뭐라나
상대 참조(Relative Ref)
git log
해시 확인
커밋 이동 기능
한 번에 한 커밋 위로 움직이는: ^
한번에 여러 커밋 위로 올라가는: ~<num> (틸드 연산자 + 올라가고 싶은 부모의 개수)
like
git checkout bugFix^
버그 픽스의 부모 커밋을 선택함으로써 head머가리 나오게?
강제로 옮기는 것
git branch -f <지정> <위치>
git branch -f master HEAD~3
마스터 브랜치를 헤드에서 뒤로 3번 옮김.
문제 복잡하다.
문제를 위한 메모: 버그 픽스 맨 위 로올리고 헤드는 c1 master는 c6로
git reset - 로컬 저장소(내 것)에서 자주 쓰인다. 히스토리를 고치는 것이기 때문
ex) git reset HEAD~1 [마스터 이름~넘버]
git revert - 변경분을 되돌리고 되돌린 내용을 공유하기 위함.
ex) git revert [branch]
--------------여기까지 기본------------------
git cherry-pick <commit1> <commit2>
ex)git cherry-pick c3 c4 c7 -> 이렇게 하면 선택되어있는 곳 밑으로 쫙 깔림
가져오고 싶은 커밋 골라서 밑으로 떨어뜨리기
인터렉티브? 리 베이스 대화창
interactive rebase 대화창에서 할 수 있는 3가지
1. 적용할 커밋들의 순서를 바꿀 수 있음.
2. 원하지 않는 커밋 뺄 수 있음.
3. 커밋을 스쿼시(squash)를 할 수 있음.
ex) git rebase -i HEAD~4
창이 뜸. 대화식으로 내가 픽하고 순서도 정해서 다른 갈래로 나오게 함.
**중간에 내가 놓친 건지.. 쉬운 거 같은 건데
git commit --amend : 브랜치의 선두를 커밋에 덮어쓸 수 있음.
git의 milestone 역할하는 태그
ex) git tag v1 c1
c1 커밋에 v1이라는 태그를 담.
Git describe
태그에 비해 상대적으로 어디에 있는지 묘사해주는 명령어.
git describe <ref> : <ref>엔 commit을 의미하는 그 어떤 것이던 쓸 수 있음.
출력은:
<tag>_<numCommits>_g<hash>
예시) v1_2_gC2 // v2_1_gC4
tag: 가장 가까운 부모 태그
numCommits:몇 커밋 떨어져 있는지
hash : 커밋의 해시
부모 선택하기
~와 ^를 사용하여 선택
^ : 바로 위의 부모 선택
^2 : 두 번째 부모 선택
~는 그냥 올라가는 거고 ^는 방향 선택해주는 것 (갈림길에서)
git checkout HEAD~; git checkout HEAD^2; git checkout HEAD~2
==
git checkout HEAD~^2~2
같음.
신기한 게
조합이 가능한 것 같은데
git branch bugWork HEAD~^2~라고 하면
버그 워크 브랜치를 HEAD~^2~의 위치에 생성해줌.
------- 끝 --------
'etc.' 카테고리의 다른 글
Outlook 2016 과 gmail 연동하기 (0) | 2020.12.01 |
---|---|
Docker/EC2 command history memo (0) | 2020.07.30 |
일단 알아볼 것 (0) | 2020.06.24 |
git rebase 깃 리베이스 / Pagination (0) | 2020.06.16 |
웹크롤링-selenium , beautifulSoup사용하여 laka홈페이지 프로덕트 크롤링하기(1) (0) | 2020.05.29 |