Git

ignore

2.34기본 Merge 전략: recursive => ort
2.33ort Merge 전략 추가
2.25sparse checkout
2.24partial clone

git sinppet

git log --pretty=fuller
git filter-branch --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"'
git log --author="이름" --name-only --pretty=format: | grep "\.cs$" | sort | uniq > author.txt

sparse-checkout

orphan

git checkout --orphan helloworld
git rm -rf .
git commit --allow-empty -m "helloworld"
git push origin helloworld

interpret-trailers

merge 전략

fast forward

  • base와 다른 브랜치가 참조하는 커밋들이 동일 선상에 위치하고 있다.
    • 이 때 두 브랜치는 Fast-foward 상태에 있다고 한다.

--ff fast-forward 관계에 있는 경우 새로운 commit을 생성하지 않고 브랜치의 참조 값만 변경되도록 --no-ff non fast forward merge 대상과 fast-forward 관계여도 강제로 merge commit을 생성하고 병합한다

squash

짓누르다

--squash feature 커밋들을 하나로 모아서 base에 합침

rebase

base 재설정 - 커밋을 복사 붙여넣어가기 (커밋 id가 달라짐)

Ref