learngitbranching 학습기록

이재훈·2024년 8월 12일

git 기본

git의 주요 명령어를 깔끔하게 알려드립니다
1. Git 커밋 소개

git commit
git commit
  1. Git 에서 브랜치 쓰기
git branch bugFix
git checkout bugFix
  1. Git 에서 브랜치 합치기(Merge)
git checkout -b bugFix
git commit
git checkout main
git commit
git merge bugFix
  1. 리베이스(rebase)의 기본
git checkout -b bugFix
git commit
git checkout main
git commit
git checkout bugFix
git rebase main

다음 단계로

git은 아주 멋져요. 왜 멋진지 알려드립니다
1. HEAD 분리하기

git checkout c4
  1. 상대 참조 (^) (Relative Refs)
git checkout bugFix^
  1. 상대 참조 #2 (~)
git branch -f main C6
git checkout HEAD~1
git branch -f bugFix HEAD~1
  1. Git에서 작업 되돌리기
git reset c1
git checkout pushed
git revert

코드 이리저리 옮기기

  1. Cherry-pick 소개
git cherry-pick c3 c4 c7
  1. 인터렉티브 리베이스 소개
git rebase -i overHere

종합선물세트

Git을 다루는 다양한 팁과 테크닉을 다양하게 알아봅니다
1. 딱 한 개의 커밋만 가져오기

git rebase -i
git rebase bugFix main
  1. 커밋들 갖고 놀기
git reabse -i HEAD~2
git commit --amend
git rebase -i HEAD~2
  1. 커밋들 갖고 놀기 #2
git checkout main
git cherry-pick c2
git commit --amend
git cherry-pick c3
  1. Git 태그
git tag v1 side~1
git tag v0 main~2
git checkout v1
  1. Git describe(묘사)
git describe HEAD
git commit

고급 문제

용기있는 도전자를 위해 준비한 문제입니다.
1. 9천번이 넘는 리베이스

git rebase main bugFix
git rebase bugFix side
git rebase side another
git rebase another main
  1. 다수의 부모
git branch bugWork main^^2^
  1. 브랜치 스파게티
git checkout one
git cherry-pick c4 c3 c2
git checkout two
git cherry-pick c5 c4 c3 c2
git branch -f three c2

원격

Push & Pull -- Git 원격 저장소!

자신의 코드를 공개할 때가 되었습니다. 코드를 공개해봅시다!
1. Clone 소개

git clone
  1. 원격 브랜치(remote branch)
git commit
git checkout o/main
git commit
  1. Git Fetch
git fetch
  1. Git pull
git pull
  1. 가짜 팀워크
git clone
git fakeTeamwork 2
git commit
git pull
  1. Git push
git commit
git commit
git push
  1. 엇갈린 히스토리
git clone
git fakeTeamwork
git commit
git pull --rebase
git push
  1. 잠겨버린 main 브랜치
git reset --hard o/main
git checkout -b feature C2
git push origin feature

"origin" 그 너머로 -- 고급 Git 원격 저장소

상급자는 편할줄 알았겠지만...
1. Push Main!

git fetch
git rebase o/main side1
git rebase side1 side2
git rebase side2 side3
git rebase side3 main
git push
  1. 원격 작업과 merge 하기
git checkout main
git pull
git merge side1
git merge side2
git merge side3
git push
  1. 원격 저장소 추적하기
git checkout -b side o/main
git commit
git pull --rebase
git push
  1. git push 의 인자들
git push origin main
git push origin foo
  1. git push 인자 -- 확장판!
git push origin main^:foo
git push origin foo:main
  1. Fetch의 인자들
git fetch origin c3:foo
git fetch origin c6:main
git checkout foo
git merge main
  1. Source 가 없다
git push origin :foo
git fetch origin :bar
  1. pull 인자들
git fetch origin c3:foo
git fetch origin c2:side
git merge foo
git merge side

0개의 댓글