Git usage - Geonhee-LEE/yolo_torch GitHub Wiki
- git-tip - ์๋์ ๋์ด๋ ํ๋ค์ ์ฌ์ฉํ ์ ์๋ CLI ํด (๋์ปค ์ปจํ ์ด๋)
์ฐธ๊ณ ๋ก ๋ชจ๋ ๋ช
๋ น์ด๋ ๋ค์ ๋ฒ์ ์์ ํ
์คํธ ๋์์ต๋๋ค: git version 2.7.4 (Apple Git-66).
- 20๊ฐ ๋ด์ธ์ ๋ช ๋ น์ด๋ก Git ์ฌ์ฉํ๊ธฐ
- Git๊ณผ ํจ๊ป ์ ๊ณต๋๋ ์ ์ฉํ ๊ฐ์ด๋๋ผ์ธ ๋ณด๊ธฐ
- ๋ด์ฉ์ผ๋ก ๋ณ๊ฒฝ์ฌํญ ๊ฒ์
- ์๊ฒฉ์ง ๋๊ธฐํ ๋ฐ ๋ก์ปฌ ๋ณ๊ฒฝ์ฌํญ ๋ฎ์ด์ฐ๊ธฐ
- ํน์ ์ปค๋ฐ๊น์ง์ ๋ชจ๋ ํ์ผ ๋์ดํ๊ธฐ
- ์ฒซ ๋ฒ์งธ ์ปค๋ฐ ์ด๊ธฐํ
- ์ถฉ๋๋ ๋ชจ๋ ํ์ผ ๋์ดํ๊ธฐ
- ํน์ ์ปค๋ฐ์์ ๋ณ๊ฒฝ๋ ๋ชจ๋ ํ์ผ ๋์ดํ๊ธฐ
- ๋ง์ง๋ง ์ปค๋ฐ ์ดํ๋ก ์คํ ์ด์ง๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ ๋ณด๊ธฐ
- ์ปค๋ฐ์ ํ๊ธฐ ์ํด ์คํ ์ด์ง๋ ๋ณ๊ฒฝ์ฌํญ ๋ณด๊ธฐ
- ์คํ ์ด์ง๋ ๋ณ๊ฒฝ์ฌํญ๊ณผ ์คํ ์ด์ง๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ ๋ชจ๋ ๋ณด๊ธฐ
- ์ด๋ฏธ ๋ง์คํฐ ๋ธ๋์น์ ๋จธ์ง๋ ๋ชจ๋ ๋ธ๋์น ๋์ดํ๊ธฐ
- ์ด์ ๋ธ๋์น๋ก ์ ํํ๊ธฐ
- ์ด๋ฏธ ๋ง์คํฐ ๋ธ๋์น์ ๋จธ์ง๋ ๋ชจ๋ ๋ธ๋์น๋ค ์ญ์ ํ๊ธฐ
- ๋ชจ๋ ๋ธ๋์น๋ค ๋ฐ ๊ทธ ๋ธ๋์น๋ค์ ์ ์คํธ๋ฆผ๊ณผ ๋ง์ง๋ง ์ปค๋ฐ ๋์ดํ๊ธฐ
- ์ ์คํธ๋ฆผ ๋ธ๋์น ์ค์ (ํธ๋ํน)
- ๋ก์ปฌ ๋ธ๋์น ์ญ์
- ์๊ฒฉ ๋ธ๋์น ์ญ์
- ๋ก์ปฌ ํ๊ทธ ์ญ์
- ์๊ฒฉ ํ๊ทธ ์ญ์
- ๋ก์ปฌ ๋ณ๊ฒฝ์ฌํญ์ ํค๋์ ๋ง์ง๋ง ๋ด์ฉ์ผ๋ก ๋๋๋ฆฌ๊ธฐ
- Revert: ์๋ก์ด ์ปค๋ฐ์ ์์ฑํ๋ฉด์ ์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ
- Reset: ์ปค๋ฐ ์ ๊ฑฐ (ํ๋ผ์ด๋น ๋ธ๋์น์์๋ง ์ฌ์ฉํ๊ธธ ๊ถ๊ณ )
- ์ด์ ์ปค๋ฐ ๋ฉ์์ง ๋ณ๊ฒฝ
- ๋ธ๋์น์ ์ปค๋ฐ์ค ์ ์คํธ๋ฆผ์ ๋จธ์ง๋์ง ์์ ์ปค๋ฐ ํ์คํ ๋ฆฌ ๋ณด๊ธฐ
- Author ์์ ํ๊ธฐ
- ๊ธ๋ก๋ฒ ์ค์ ์์ ๋ณ๊ฒฝ๋ author๋ก author ์ฌ์ค์ ํ๊ธฐ
- ์๊ฒฉ์ง URL ๋ณ๊ฒฝํ๊ธฐ
- ๋ชจ๋ ์๊ฒฉ์ง ๋ ํผ๋ฐ์ค ๋ฆฌ์คํธ ๋์ดํ๊ธฐ
- ๋ชจ๋ ๋ก์ปฌ ๋ฐ ์๊ฒฉ์ง ๋ธ๋์น ๋์ดํ๊ธฐ
- ์๊ฒฉ์ง ๋ธ๋์น๋ง ๋์ดํ๊ธฐ
- ํ์ผ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฒด๊ฐ ์๋ ์ผ๋ถ๋ง ์คํ ์ด์งํ๊ธฐ
- git ๋ฐฐ์ ์๋์์ฑ ์ฌ์ฉํ๊ธฐ
- 2์ฃผ ์ ๋ถํฐ ํ์ฌ๊น์ง์ ๋ณ๊ฒฝ์ฌํญ ๋ณด๊ธฐ
- ๋ง์คํฐ๋ก๋ถํฐ ํฌํฌํ ์ดํ์ ์์ฑ๋ ๋ชจ๋ ์ปค๋ฐ ๋ณด๊ธฐ
- cherry-pick์ ์ฌ์ฉํด ๋ธ๋์น๊ฐ ์ปค๋ฐ ๊ฐ์ ธ์ค๊ธฐ
- ํด๋น ์ปค๋ฐ ํด์๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ธ๋์น๋ค ๊ฒ์ํ๊ธฐ
- Git ๋ช ๋ น์ด ๋ณ์นญ ์ง์
- ์ปค๋ฐํ์ง ์์ ํธ๋ํน๋ ํ์ผ๋ค์ ์ํ ์ ์ฅํ๊ธฐ
- ์คํ ์ด์ง๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ๋ค์ ํ์ฌ ์ํ๋ฅผ ํธ๋ํน๋ ํ์ผ๋ก ์ ์ฅํ๊ธฐ
- ํธ๋ํน๋์ง ์์ ํ์ผ๋ค๊น์ง ๋ชจ๋ ํฌํจํด ํ์ฌ ์ํ ์ ์ฅํ๊ธฐ
- ํ์ฌ ์ํ๋ฅผ ๋ฉ์์ง์ ํจ๊ป ์ ์ฅํ๊ธฐ
- ๋ชจ๋ ๋ฌด์๋ ํ์ผ, ํธ๋ํน๋์ง ์์ ํ์ผ, ํธ๋ํน๋ ํ์ผ๋ค์ ํ์ฌ ์ํ ์ ์ฅํ๊ธฐ
- ์ ์ฅ๋ ๋ชจ๋ ์คํ์ ๋ฆฌ์คํธ ๋์ดํ๊ธฐ
- ์คํ์ ๋ฆฌ์คํธ์์ ์ญ์ ํ์ง ์๊ณ ์คํ์ ์ ์ฉํ๊ธฐ
- ๋ง์ง๋ง์ผ๋ก ์ ์ฅ๋ ์คํ์ ์ํ๋ฅผ ์ ์ฉํ๊ณ ์คํ์ ๋ฆฌ์คํธ์์ ์ญ์ ํ๊ธฐ
- ์ ์ฅ๋ ๋ชจ๋ ์คํ์ ์ญ์ ํ๊ธฐ
- ์คํ์๋ก๋ถํฐ ๋จ์ผ ํ์ผ ๊ฐ์ ธ์ค๊ธฐ
- ํธ๋ํน๋ ํ์ผ๋ค ๋ชจ๋ ๋ณด๊ธฐ
- ํธ๋ํน๋์ง ์์ ๋ชจ๋ ํ์ผ ๋ณด๊ธฐ
- ๋ฌด์๋ ํ์ผ๋ค ๋ชจ๋ ๋ณด๊ธฐ
- ์ ์ฅ์์ ์๋ก์ด ์ํน ํธ๋ฆฌ ์์ฑํ๊ธฐ (git 2.5)
- HEAD๋ก๋ถํฐ ์๋ก์ด ์ํน ํธ๋ฆฌ ์์ฑํ๊ธฐ
- ํ์ผ์ ์ญ์ ํ์ง ์๊ณ ์ธํธ๋ํนํ๊ธฐ
- ํธ๋ํน๋์ง ์์ ํ์ผ/๋๋ ํ ๋ฆฌ๋ฅผ ์ค์ ๋ก ์ญ์ ํ๊ธฐ ์ ์ ์ด๋ค ํ์ผ/๋๋ ํ ๋ฆฌ๊ฐ ์ญ์ ๋๋์ง ํ ์คํธ ํด๋ณด๊ธฐ
- ํธ๋ํน๋์ง ์์ ํ์ผ๋ค ๊ฐ์ ๋ก ์ญ์ ํ๊ธฐ
- ํธ๋ํน๋์ง ์์ ๋๋ ํ ๋ฆฌ ๊ฐ์ ๋ก ์ญ์ ํ๊ธฐ
- ๋ชจ๋ ์๋ธ ๋ชจ๋ ์ ๋ฐ์ดํธํ๊ธฐ
- ํ์ฌ ๋ธ๋์น์์ ์์ง ๋ง์คํฐ์ ๋จธ์ง๋์ง ์์ ๋ชจ๋ ์ปค๋ฐ๋ค ๋ณด๊ธฐ
- ๋ธ๋์น๋ช ์์ ํ๊ธฐ
- 'feature' ๋ธ๋์น๋ฅผ ๋ง์คํฐ์ ๋ฆฌ๋ฒ ์ด์คํ ํ ๋ง์คํฐ์ ๋จธ์งํ๊ธฐ
- ๋ง์คํฐ ๋ธ๋์น ์์นด์ด๋ธ
- ์ปค๋ฐ ๋ฉ์์ง๋ ๋ณ๊ฒฝํ์ง ์๊ณ ์ด์ ์ปค๋ฐ ๋ณ๊ฒฝํ๊ธฐ
- ์๊ฒฉ์ง์์ ์ญ์ ๋ ์๊ฒฉ ๋ธ๋์น ๋ ํผ๋ฐ์ค ์ ๊ฑฐํ๊ธฐ
- ์ฒซ ๋ฆฌ๋น์ ์ ์ปค๋ฐ ํด์๊ฐ ๊ฐ์ ธ์ค๊ธฐ
- ๋ฒ์ ํธ๋ฆฌ ์๊ฐํ
- ํธ๋ํน๋ ํ์ํด๋๋ฅผ gh-pages ๋ธ๋์น๋ก ๋ฐฐํฌํ๊ธฐ
- subtree๋ฅผ ์ฌ์ฉํด ์ ์ฅ์์ ํ๋ก์ ํธ ์ถ๊ฐํ๊ธฐ
- subtree๋ฅผ ์ฌ์ฉํด ๊ด๋ จ๋ ํ๋ก์ ํธ์ ์ต์ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฅ์๋ก ๊ฐ์ ธ์ค๊ธฐ
- ๋ธ๋์น๋ฅผ ํ์คํ ๋ฆฌ์ ํจ๊ป ํ์ผ๋ก ์ถ์ถํ๊ธฐ
- ๋ฒ๋ค ๊ฐ์ ธ์ค๊ธฐ
- ํ์ฌ ๋ธ๋์น๋ช ๊ฐ์ ธ์ค๊ธฐ
- ์ปค๋ฐ์ ํ์ผ ๋ฌด์ํ๊ธฐ (์๋ฅผ ๋ค์ด, Changelog ํ์ผ)
- ๋ฆฌ๋ฒ ์ด์ค ์ ์ ๋ณ๊ฒฝ์ฌํญ ์คํ์ํ๊ธฐ
- ID๋ก ํ ๋ฆฌํ์คํธ๋ฅผ ๋ก์ปฌ ์ ์ฅ์๋ก ๊ฐ์ ธ์ค๊ธฐ
- ํ์ฌ ๋ธ๋์น์ ๊ฐ์ฅ ์ต๊ทผ ํ๊ทธ ๋ณด๊ธฐ
- diff ์๋ ๋จ์๋ก ๋ณด๊ธฐ
- diff ๋๊ตฌ๋ฅผ ์ฌ์ฉํด ๋ณ๊ฒฝ์ฌํญ ๋ณด๊ธฐ
- ํธ๋ํน๋ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ ๋ฌด์ํ๊ธฐ
- assume-unchanged ๋๋๋ฆฌ๊ธฐ
.gitignore์ ๋ช ์๋ ํ์ผ๋ค ์ญ์ ํ๊ธฐ- ์ญ์ ๋ ํ์ผ ๋ณต๊ตฌํ๊ธฐ
- ํน์ ์ปค๋ฐ์ผ๋ก์ ํ์ผ๋ก ๋ณต๊ตฌํ๊ธฐ
- pull์ ๋จธ์งํ๋ ๋์ ํญ์ ๋ฆฌ๋ฒ ์ด์ค ํ๊ธฐ
- ๋ชจ๋ ๋ณ์นญ๊ณผ ์ค์ ๊ฐ๋ค ๋์ดํ๊ธฐ
- ๋์๋ฌธ์ ๊ตฌ๋ณ ํ์ฑํ
- ์ปค์คํ ์๋ํฐ ์ถ๊ฐํ๊ธฐ
- ์คํ ์๋ ์์ ํ์ฑํ
- ๋ณ๊ฒฝ์ฌํญ์ด ์ด๋ค ๋ฆด๋ฆฌ์ฆ์ ์ํ๋์ง ํ์ธํ๊ธฐ
- ๋ช ๋ น์ด ํ ์คํธ ํด๋ณด๊ธฐ (dry-run ํ๋๊ทธ๋ฅผ ์ง์ํ๋ ๋ชจ๋ ๋ช ๋ น์ด์์ ๊ฐ๋ฅ)
- ์ปค๋ฐ์ด ์ด์ ์ปค๋ฐ์ ์์ ๋ฒ์ ์์ ํ์ํ๊ธฐ
- fixup ์ปค๋ฐ์ ์ผ๋ฐ ์ปค๋ฐ์ผ๋ก ์ค์ฟผ์ํ๊ธฐ
- ์ปค๋ฐ์ ์คํ ์ด์ง๋ ํ์ผ๋ค ์คํตํ๊ธฐ
- ๋ํํ์ผ๋ก ์คํ ์ด์งํ๊ธฐ
- ๋ฌด์๋ ํ์ผ๋ค ๋์ดํ๊ธฐ
- ๋ฌด์๋ ํ์ผ๋ค ์ํ ์ถ๋ ฅ
- Branch2์๋ ์๊ณ Branch1์๋ง ์๋ ์ปค๋ฐ๋ค ๋์ดํ๊ธฐ
- ๋ง์ง๋ง n๊ฐ์ ์ปค๋ฐ ๋์ดํ๊ธฐ
- ์ด์ ์ ์ถฉ๋์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋กํ๊ณ ์ฌ์ฌ์ฉํ๊ธฐ
- ๋ชจ๋ ์ถฉ๋๋ ํ์ผ๋ค ์๋ํฐ๋ก ์ด๊ธฐ
- unpacked ์ค๋ธ์ ํธ์ ๊ฐฏ์์ ๋์คํฌ ์ฌ์ฉ๋ ๋ณด๊ธฐ
- ์ค๋ธ์ ํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋๋ฌํ ์ ์๋ ์ค๋ธ์ ํธ๋ค ์ ๊ฑฐํ๊ธฐ
- gitweb์ผ๋ก ์ํน ๋๋ ํ ๋ฆฌ ํ์ํ๊ธฐ
- ์ปค๋ฐ ๋ก๊ทธ์์ GPG ์๊ทธ๋์ณ ๋ณด๊ธฐ
- ๊ธ๋ก๋ฒ ์ค์ ์์ ์ํธ๋ฆฌ ์ ๊ฑฐํ๊ธฐ
- ํ์คํ ๋ฆฌ๊ฐ ์๋ ์๋ก์ด ๋ธ๋์น๋ก ์ฒดํฌ์์ํ๊ธฐ
- ๋ค๋ฅธ ๋ธ๋์น์์ ํ์ผ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ
- ๋ฃจํธ ์ปค๋ฐ๊ณผ ๋จธ์ง ์ปค๋ฐ๋ง ๋์ดํ๊ธฐ
- ๋ํํ ๋ฆฌ๋ฒ ์ด์ค๋ก ์ด์ ๋ ์ปค๋ฐ ์์ ํ๊ธฐ
- ์์ ์ค์ธ ๋ธ๋์น๋ค ๋ชจ๋ ๋์ดํ๊ธฐ
- ์ด์ง ํ์์ผ๋ก ์ข์/์์ข์ ์ปค๋ฐ ๊ฒ์ํ๊ธฐ
- pre-commit๊ณผ commit-msg ๊น ํํน ์ฐํํ๊ธฐ
- ํน์ ํ์ผ์ ๋ํ ์ปค๋ฐ๊ณผ ๋ณ๊ฒฝ์ฌํญ ๋์ดํ๊ธฐ (์ด๋ฆ์ด ๋ฐ๋ ํ์ผ๋ ์ถ์ )
- ๋จ์ผ ๋ธ๋์น ํด๋ก
- ์๋ก์ด ๋ธ๋์น ์์ฑ๊ณผ ๋์์ ์ค์์นญ
- ์ปค๋ฐ์ ํ์ผ ๋ชจ๋ ๋ณ๊ฒฝ ๋ฌด์
- Git ํฐ๋ฏธ๋ ์์ ์ถ๋ ฅ ๋นํ์ฑํ
- ํน์ ๋ช ๋ น์ด์ ๋ํ ์์ ์ค์ ์ง์ ํ๊ธฐ
- ๋ชจ๋ ๋ก์ปฌ ๋ธ๋์น๋ฅผ ์ต๊ทผ ์ปค๋ฐ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํด ๋์ดํ๊ธฐ
- ํธ๋ํน๋ ํ์ผ์์ ํจํด(์ ๊ท์์ด๋ ๋ฌธ์์ด)์ ๋งค์นญ๋๋ ๋ผ์ธ ๊ฒ์
- ์ ์ฅ์์ ์์ ์นดํผ ๋ฒ์ ํด๋ก ํ๊ธฐ
- ๋ชจ๋ ๋ธ๋์น์์ ์ฃผ์ด์ง ํ ์คํธ๋ก ์ปค๋ฐ ๋ก๊ทธ ๊ฒ์ํ๊ธฐ
- ๋ธ๋์น์ ์ฒซ ์ปค๋ฐ ๊ฐ์ ธ์ค๊ธฐ (๋ง์คํฐ ๋ธ๋์น๋ก๋ถํฐ ์์๋)
- ์คํ ์ด์ง๋ ํ์ผ๋ค ์ธ์คํ ์ด์งํ๊ธฐ
- ์๊ฒฉ ์ ์ฅ์์ ๊ฐ์ ํธ์ํ๊ธฐ
- ์ ์ฅ์๋ช ์ถ๊ฐํ๊ธฐ
- ์ฃผ์ด์ง ํ์ผ์ ๊ฐ ๋ผ์ธ๋ณ author, ์๊ฐ ๊ทธ๋ฆฌ๊ณ ์ต์ข ๋ฆฌ๋น์ ๋ช ๋ณด๊ธฐ
- Author์ ์ ๋ชฉ์ผ๋ก ์ปค๋ฐ ๊ทธ๋ฃนํํ๊ธฐ
- ๋ค๋ฅธ ์ฌ๋์ด ์์ ํ ๋ด์ฉ์ ๋ฎ์ด์ฐ์ง ์๊ณ ๊ฐ์ ํธ์ํ๊ธฐ
- ํน์ author๊ฐ ๊ธฐ์ฌํ ๋ผ์ธ์ ๋ณด๊ธฐ
- Revert: ๋จธ์ง ๋ณต๊ตฌํ๊ธฐ
- ํน์ ๋ธ๋์น์ ์ปค๋ฐ ์ ์ถ๋ ฅํ๊ธฐ
- ๋ณ์นญ: git undo
- ์ค๋ธ์ ํธ์ ๋ ธํธ(๋ฉ๋ชจ) ์ถ๊ฐํ๊ธฐ
- ๋ชจ๋ ๊น ๋ ธํธ ๋ณด๊ธฐ
- ๋ค๋ฅธ ์ ์ฅ์์ ์๋ ์ปค๋ฐ ์ ์ฉํ๊ธฐ
- ํ์น ๋ ํผ๋ฐ์ค ์ง์ ํ๊ธฐ
- ๋ ๋ธ๋์น์ ๊ณตํต ์กฐ์ ์ปค๋ฐ ์ฐพ๊ธฐ
- ํธ์๋์ง ์์ ์ปค๋ฐ๋ค ๋์ดํ๊ธฐ
- ๊ณต๋ฐฑ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ธํ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ ์ถ๊ฐํ๊ธฐ
- ๊น ์ค์ [๋ก์ปฌ/๊ธ๋ก๋ฒ] ์์ ํ๊ธฐ
- ํน์ ๊ตฌ๊ฐ์์ blame ์ ๋ณด ๋ณด๊ธฐ
- Git์ ๋ ผ๋ฆฌ์ ๋ณ์ ๋ณด๊ธฐ
- ํจ์น ํ์ผ ๋ฏธ๋ฆฌ ํฌ๋งทํ ํ๊ธฐ
- ์ ์ฅ์๋ช ๊ฐ์ ธ์ค๊ธฐ
- ํน์ ๋ ์ง ๊ตฌ๊ฐ ์ฌ์ด์ ์ปค๋ฐ ๋ก๊ทธ ์ถ๋ ฅํ๊ธฐ
- ๋ก๊ทธ์์ author ์ ์ธํ๊ธฐ
- ๋ธ๋์น์ ์์ ์ฌํญ ์์ฝํ๊ธฐ
- ์๊ฒฉ ์ ์ฅ์์ ๋ชจ๋ ๋ ํผ๋ฐ์ค ๋์ดํ๊ธฐ
- ํธ๋ํน๋์ง ์์ ํ์ผ๋ค ๋ฐฑ์ ํ๊ธฐ
- ๋ชจ๋ git ๋ช ๋ น์ด ๋ณ์นญ ๋์ดํ๊ธฐ
- git ์ํ ๊ฐ๋ตํ๊ฒ ๋ณด๊ธฐ
- ํ๋ฃจ ์ ์ ์ปค๋ฐ์ผ๋ก ์ฒดํฌ์์ํ๊ธฐ
git help everydaygit help -ggit log -S'<a term in the source>'git fetch origin && git reset --hard origin/master && git clean -f -dgit ls-tree --name-only -r <commit-ish>git update-ref -d HEADgit diff --name-only --diff-filter=Ugit diff-tree --no-commit-id --name-only -r <commit-ish>git diffgit diff --cached๋ค๋ฅธ ๋ฐฉ๋ฒ:
git diff --stagedgit diff HEADgit branch --merged mastergit checkout -๋ค๋ฅธ ๋ฐฉ๋ฒ:
git checkout @{-1}git branch --merged master | grep -v '^\*' | xargs -n 1 git branch -d๋ค๋ฅธ ๋ฐฉ๋ฒ:
git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d # will not delete master if master is not checked outgit branch -vvgit branch -u origin/mybranchgit branch -d <local_branchname>git push origin --delete <remote_branchname>๋ค๋ฅธ ๋ฐฉ๋ฒ:
git push origin :<remote_branchname>git tag -d <tag-name>git push origin :refs/tags/<tag-name>git checkout -- <file_name>git revert <commit-ish>git reset <commit-ish>git commit -v --amendgit cherry -v mastergit commit --amend --author='Author Name <[email protected]>'git commit --amend --reset-author --no-editgit remote set-url origin <URL>git remote๋ค๋ฅธ ๋ฐฉ๋ฒ:
git remote showgit branch -agit branch -rgit add -pcurl http://git.io/vfhol > ~/.git-completion.bash && echo '[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash' >> ~/.bashrcgit log --no-merges --raw --since='2 weeks ago'๋ค๋ฅธ ๋ฐฉ๋ฒ:
git whatchanged --since='2 weeks ago'git log --no-merges --stat --reverse master..git checkout <branch-name> && git cherry-pick <commit-ish>git branch -a --contains <commit-ish>๋ค๋ฅธ ๋ฐฉ๋ฒ:
git branch --contains <commit-ish>git config --global alias.<handle> <command>
git config --global alias.st statusgit stash๋ค๋ฅธ ๋ฐฉ๋ฒ:
git stash savegit stash -k๋ค๋ฅธ ๋ฐฉ๋ฒ:
git stash --keep-indexgit stash save --keep-indexgit stash -u๋ค๋ฅธ ๋ฐฉ๋ฒ:
git stash save -ugit stash save --include-untrackedgit stash save <message>๋ชจ๋ ๋ฌด์๋ ํ์ผ, ํธ๋ํน๋์ง ์์ ํ์ผ, ํธ๋ํน๋ ํ์ผ๋ค์ ํ์ฌ ์ํ ์ ์ฅํ๊ธฐ
git stash -a๋ค๋ฅธ ๋ฐฉ๋ฒ:
git stash --allgit stash save --allgit stash listgit stash apply <stash@{n}>git stash pop๋ค๋ฅธ ๋ฐฉ๋ฒ:
git stash apply stash@{0} && git stash drop stash@{0}git stash clear๋ค๋ฅธ ๋ฐฉ๋ฒ:
git stash drop <stash@{n}>git checkout <stash@{n}> -- <file_path>๋ค๋ฅธ ๋ฐฉ๋ฒ:
git checkout stash@{0} -- <file_path>git ls-files -tgit ls-files --othersgit ls-files --others -i --exclude-standardgit worktree add -b <branch-name> <path> <start-point>git worktree add --detach <path> HEADgit rm --cached <file_path>๋ค๋ฅธ ๋ฐฉ๋ฒ:
git rm --cached -r <directory_path>ํธ๋ํน๋์ง ์์ ํ์ผ/๋๋ ํ ๋ฆฌ๋ฅผ ์ค์ ๋ก ์ญ์ ํ๊ธฐ ์ ์ ์ด๋ค ํ์ผ/๋๋ ํ ๋ฆฌ๊ฐ ์ญ์ ๋๋์ง ํ ์คํธ ํด๋ณด๊ธฐ
git clean -ngit clean -fgit clean -f -d๋ค๋ฅธ ๋ฐฉ๋ฒ:
git clean -dfgit submodule foreach git pull๋ค๋ฅธ ๋ฐฉ๋ฒ:
git submodule update --init --recursivegit submodule update --remotegit cherry -v master๋ค๋ฅธ ๋ฐฉ๋ฒ:
git cherry -v master <branch-to-be-merged>git branch -m <new-branch-name>๋ค๋ฅธ ๋ฐฉ๋ฒ:
git branch -m [<old-branch-name>] <new-branch-name>git rebase master feature && git checkout master && git merge -git archive master --format=zip --output=master.zipgit add --all && git commit --amend --no-editgit fetch -p๋ค๋ฅธ ๋ฐฉ๋ฒ:
git remote prune origin git rev-list --reverse HEAD | head -1๋ค๋ฅธ ๋ฐฉ๋ฒ:
git rev-list --max-parents=0 HEADgit log --pretty=oneline | tail -1 | cut -c 1-40git log --pretty=oneline --reverse | head -1 | cut -c 1-40git log --pretty=oneline --graph --decorate --all๋ค๋ฅธ ๋ฐฉ๋ฒ:
gitk --allgit subtree push --prefix subfolder_name origin gh-pagesgit subtree add --prefix=<directory_name>/<project_name> --squash [email protected]:<username>/<project_name>.git mastergit subtree pull --prefix=<directory_name>/<project_name> --squash [email protected]:<username>/<project_name>.git mastergit bundle create <file> <branch-name>git clone repo.bundle <repo-dir> -b <branch-name>git rev-parse --abbrev-ref HEADgit update-index --assume-unchanged Changelog; git commit -a; git update-index --no-assume-unchanged Changeloggit rebase --autostashgit fetch origin pull/<id>/head:<branch-name>๋ค๋ฅธ ๋ฐฉ๋ฒ:
git pull origin pull/<id>/head:<branch-name>git describe --tags --abbrev=0git diff --word-diffgit difftool -t <commit1> <commit2> <path>git update-index --assume-unchanged <file_name>git update-index --no-assume-unchanged <file_name>git clean -X -fgit checkout <deleting_commit>^ -- <file_path>git checkout <commit-ish> -- <file_path>git config --global pull.rebase true๋ค๋ฅธ ๋ฐฉ๋ฒ:
#git < 1.7.9
git config --global branch.autosetuprebase alwaysgit config --listgit config --global core.ignorecase falsegit config --global core.editor '$EDITOR'git config --global help.autocorrect 1git name-rev --name-only <SHA-1>git clean -fd --dry-rungit commit --fixup <SHA-1>git rebase -i --autosquashgit commit --only <file_path>git add -igit check-ignore *git status --ignoredgit log Branch1 ^Branch2git log -<n>๋ค๋ฅธ ๋ฐฉ๋ฒ:
git log -n <n>git config --global rerere.enabled 1git diff --name-only | uniq | xargs $EDITORgit count-objects --human-readablegit gc --prune=now --aggressivegit instaweb [--local] [--httpd=<httpd>] [--port=<port>] [--browser=<browser>]git log --show-signaturegit config --global --unset <entry-name>git checkout --orphan <branch_name>git show <branch_name>:<file_name>git log --first-parentgit rebase --interactive HEAD~2git checkout master && git branch --no-mergedgit bisect start # Search start
git bisect bad # Set point to bad commit
git bisect good v2.6.13-rc2 # Set point to good commit|tag
git bisect bad # Say current state is bad
git bisect good # Say current state is good
git bisect reset # Finish search
git commit --no-verifygit log --follow -p -- <file_path>git clone -b <branch-name> --single-branch https://github.com/user/repo.gitgit checkout -b <branch-name>๋ค๋ฅธ ๋ฐฉ๋ฒ:
git branch <branch-name> && git checkout <branch-name>git config core.fileMode falsegit config --global color.ui falsegit config --global <specific command e.g branch, diff> <true, false or always>git for-each-ref --sort=-committerdate --format='%(refname:short)' refs/heads/git grep --heading --line-number 'foo bar'git clone https://github.com/user/repo.git --depth 1git log --all --grep='<given-text>'git log master..<branch-name> --oneline | tail -1git reset HEAD <file-name>git push -f <remote-name> <branch-name>git remote add <remote-nickname> <remote-url>git blame <file-name>git shortloggit push --force-with-lease <remote-name> <branch-name>git log --author='_Your_Name_Here_' --pretty=tformat: --numstat | gawk '{ add += <!-- @doxie.inject start -->; subs += <!-- @doxie.inject end -->; loc += <!-- @doxie.inject start --> - <!-- @doxie.inject end --> } END { printf "added lines: %s removed lines: %s total lines: %s
", add, subs, loc }' -๋ค๋ฅธ ๋ฐฉ๋ฒ:
git log --author='_Your_Name_Here_' --pretty=tformat: --numstat | awk '{ add += <!-- @doxie.inject start -->; subs += <!-- @doxie.inject end -->; loc += <!-- @doxie.inject start --> - <!-- @doxie.inject end --> } END { printf "added lines: %s, removed lines: %s, total lines: %s
", add, subs, loc }' - # on Mac OSXgit revert -m 1 <commit-ish>git rev-list --count <branch-name>git config --global alias.undo '!f() { git reset --hard $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f'git notes add -m 'Note on the previous commit....'git log --show-notes='*'git --git-dir=<source-dir>/.git format-patch -k -1 --stdout <SHA1> | git am -3 -kgit fetch origin master:refs/remotes/origin/mymasterdiff -u <(git rev-list --first-parent BranchA) <(git rev-list --first-parent BranchB) | sed -ne 's/^ //p' | head -1git log --branches --not --remotes๋ค๋ฅธ ๋ฐฉ๋ฒ:
git log @{u}..git cherry -vgit diff --ignore-all-space | git apply --cachedgit config [--global] --editgit blame -L <start>,<end>git var -l | <variable>git format-patch -M upstream..topicgit rev-parse --show-toplevelgit log --since='FEB 1 2017' --until='FEB 14 2017'git log --perl-regexp --author='^((?!excluded-author-regex).*)
git request-pull v1.0 https://git.ko.xz/project master:for-linusgit ls-remote git://git.kernel.org/pub/scm/git/git.gitgit ls-files --others -i --exclude-standard | xargs zip untracked.zipgit config -l | grep alias | sed 's/^alias\.//g'๋ค๋ฅธ ๋ฐฉ๋ฒ:
git config -l | grep alias | cut -d '.' -f 2git status --short --branchgit checkout master@{yesterday}