git 명령어 내가 모르는 것만
커밋 푸시 풀 클론 이런 기본은 넘기고 브랜치 관리 위주로 씀
참고: https://learngitbranching.js.org/?locale=ko
기본 내용은 전에 정리해둔 거 있음: https://dapin1490.github.io/satinbower/posts/it-git-starter/
git rebase {branch}:{branch}에 현재 선택된 브랜치의 기록(커밋)을 복붙한다. A라는 브랜치에서git rebase B를 하면 B 브랜치 앞에 A 브랜치의 내용을 복붙했다는 커밋이 추가되는 방식.git checkout {name}: 현재 git이 포커싱한 대상을{name}으로 바꾼다.{name}에는 브랜치 이름이나 특정 커밋의 해시값이 들어갈 수 있다.git checkout HEAD^: 지금 HEAD보다 한 칸(커밋) 위로 올라간다.^1개당 하나씩 올라간다. 2개를 쓰면 2칸 올라간다. HEAD 대신 브랜치 이름을 써도 된다git checkout {HEAD/branch}~{num}: 지정 갯수만큼 올라간다. 언제까지고^만 길게 붙일 수는 없잖아.git branch -f {branch} HEAD~{num}: 강제로(-f) 특정 브랜치의 HEAD를 지정한 위치로 옮긴다.
git reset HEAD~1: 로컬에서 커밋을 하나 되돌아감. 포커싱만 바꾸는 게 아니라 마치 작업 자체를 안 한 것처럼 되돌림. 하지만 원격에는 커밋이 그대로 남기 때문에 강제하지 않는 이상 원격 푸시 불가.~{num}표기를 빼면 현재 커밋을 되돌린다
git revert HEAD~1: 커밋을 되돌렸다는 커밋을 추가함. 기존 기록에 추가되기 때문에 원격으로 푸시 가능.~{num}표기를 빼면 현재 커밋을 되돌린다
git cherry-pick {commit hashs...}: 특정 커밋만 쏙 뽑아서 HEAD에 복붙한다git rebase -i {ref-branch}: 인터랙티브 UI로 리베이스하기. 현재 HEAD에{ref-branch}의 커밋을 선택적으로 복붙할 수 있다. 인터랙티브cherry-pick이라는 거임git commit --amend: 커밋 수정하기. 이미 push된 건 기본적으로 수정할 수 없지만, rebase로 수정할 커밋을 끌어올려서 수정하고 다시 복구하면 마법처럼 수정이 된다.이건 말로는 설명이 부족해서 예시 추가함. 왼쪽 플로우에서 오른쪽 플로우로 수정되면 성공인 거임





