Linus Torvalds๊ฐ ๋ค๋ฅธ ํ์ ๊ด๋ฆฌ ๋๊ตฌ ์ฐ๋ค๊ฐ ๋ง์ ๋๋ ๊ฒ ํ๋๋ ์๋ค๊ณ ์ง์ ๋ง๋ค์ด ์ฐ๊ธฐ ์์ํด์ ์ด์ ๋ค๋ค ์ฐ๋ ํ์ ๊ด๋ฆฌ ๋๊ตฌ.
์์ฃผ ์ปค๋ค๋ Git ์ ์ฅ์๋ฅผ ๊ฐ์ ธ์ฌ ๋ ๊ณผ๊ฑฐ ์ปค๋ฐ์ ์ ๊ทผํ ํ์๊ฐ ์๋ค๋ฉด fetch๋ clone ์ --depth 1 ์ต์
์ ์ด์ฉํด shallow clone์ ๋ง๋ค ์ ์๋ค.
์ดํ ๊ณผ๊ฑฐ ์ปค๋ฐ์ด ํ์ํ๋ค๋ฉด git fetch --unshallow ๋ฅผ ํ๋ฉด ๋๋ค.
git submodule update --init --recursive ๋ฅผ ํ๋ฉด HEAD์ ์ํ๋ก ์๋ธ๋ชจ๋๋ค์ ์ ๋๊ธฐํํด์ค๋ค.
์ผ๋ ค๋ฉด git config core.symlinks true ๋ฑ์ผ๋ก ์์๋ก ์ผ ์ค์ผ ํจ
Fast-forward ๋จธ์ง๋ checkoutํ์ง ์์๋ ํ ์ ์๋ค
git fetch origin main:main ํ๋ฉด main ๋ธ๋์น๊ฐ Fast-forward ๋๋ค
fetchํ ๋ ์ ๋ฐ์ดํธ๋๋ ๋ธ๋์น๋ refspec์ ๋ฐ๋ผ ์ ํด์ง๋ค
GitHub CLI๋ ํฌํฌ๋ ์ ์ฅ์๋ฅผ ํด๋ก ํ ๋ upstream์ refspec์ ์ฃผ์ ๋ธ๋์น ํ๋๋ก ํ์ ํ๋ฏ๋ก ๊ธฐ์ตํด๋๋ ํธ์ด ์ข๋ค
๋ณ๊ฒฝ ์ฌํญ์ Pull Request๋ ๋ธ๋์น ๋ฑ์ ๊ฑฐ์น์ง ์๊ณ ๋น ๋ฅด๊ฒ ๊ณต์ ํ ํ์์ฑ์ด ์๋ ๊ฒฝ์ฐ Git์ format-patch์ am ์ปค๋งจ๋๋ฅผ ํ์ฉํ ์ ์๋ค.
์ค์ ๋ก Linux์ ๊ฐ์ ์ค๋๋ ํ๋ก์ ํธ๋ ๋ฉ์ผ๋ง ๋ฆฌ์คํธ์ ์ด๋ฌํ patch ํ์ผ์ ๋ณด๋ด Pull Request์ ์ ์ฌํ๊ฒ ์ฌ์ฉํ๋ค.
์ ์๋ ค์ง์ง ์์ ๊ธฐ๋ฅ์ด๋ค ๋ณด๋ ์ฌ์ฉํ ๋ ๋๋ฃ๋ค์๊ฒ ์ฌ์ฉ ๋ฐฉ๋ฒ๋ ๊ท๋ํด์ฃผ๊ธธ ๊ถํ๋ค.
git bundle์ ํตํด ์ง๊ธ๊น์ง ์์ ํ ๋ธ๋์น(ํธ์์ ์ด๋ ๊ฒ ๋ถ๋ฅด์)๋ฅผ ํ ํ์ผ๋ก ํฉ์ณ ๊ณต์ ํ ์ ์๋ค.
gitignore ์์ค๋ ์ฌ๊ธฐ ์๋ ๊ฑฐ ๋ฐฐ๊ปด์ฐ๋ฉด ํธํ๋ค
๋ฆฌ๋ฒ ์ด์คํ๋ฉด์ ๋ชจ๋ ์ปค๋ฐ์ Prettier ์ ์ฉ: git rebase -x 'git diff --name-only HEAD^ HEAD | grep -P "\.(?:[tj]sx?|json)$" |
xargs yarn prettier --write && git commit --amend --no-edit -a' -X
theirs development
Prettier์์ ๋ฐ๋ ํ์ผ๋ง ์ฒดํฌ: git diff --name-only | grep -P "\.(?:[tj]sx?|json)$" | xargs yarn prettier -c
์คํ
์ด์งํ ํ์ผ๋ง stashํ๊ธฐ git stash -- $(git diff --staged --name-only)