Git Basics
#
InstallationWindows๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ input
๋์ true
๋ฅผ ๊ฐ์ผ๋ก ์ค์ ํฉ๋๋ค.
macOS๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์๋ ๋ช ๋ น์ด๋ฅผ ํตํด ์์ด๋ ์ํธ๋ฅผ ๊ธฐ์ตํ๋๋ก ์ค์ ํ ์ ์์ต๋๋ค.
#
clone#
add, rm, mv, commit
#
addgit add
๋ช
๋ น์ด๋ Untracked file, Modified file ์ Staging area์ ๋ฐ์ํฉ๋๋ค.
#
rmgit rm
๋ช
๋ น์ด๋ Tracked file์ Untracked file๋ก ๋ณ๊ฒฝํ๊ณ Staging area์ ์ญ์ ๋ ์ํ๋ผ๋ ๊ฒ์ ๋ฐ์ํฉ๋๋ค.
ํ์ผ์ด ๋ณ๊ฒฝ๋์ด Staging area์ ์๋ ๊ฒฝ์ฐ -f ์ต์ ์ ์ฌ์ฉํด ๊ฐ์ ์ญ์ ํด์ผํฉ๋๋ค.
#
mvgit mv
๋ช
๋ น์ด๋ ํ์ผ์ ์์น๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ด๋ฆ์ ๋ณ๊ฒฝ์ ํ ํ Staging area์ ๋ฐ์ํฉ๋๋ค.
#
commitgit commit
๋ช
๋ น์ด๋ Staging area์์ ํ์ผ์ ์ ์ธ์ํค๊ณ , Unmodified file๋ก ๋ณ๊ฒฝํ ํ commit๋ ํ๋์ ์์
์ผ๋ก ๋ฑ๋กํฉ๋๋ค.
#
log#
log with commit message#
log with commit message + diff#
log with commit message + statistic#
log with oneline commit message#
refloggit reflog
๋ช
๋ น์ด๋ก git ๋ณ๊ฒฝ ์ด๋ ฅ์ ํ์ธํ ์ ์์ต๋๋ค.
#
commit hash && HEADcommit hash
๋ ํน์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ 7f0e7030d57d469d150c17eb4746872e415fb379
์ ๊ฐ์ ํด์๊ฐ์
๋๋ค.
์ปค๋ฐ์ ๊ฐ๋ฆฌํฌ๋ ํด์๊ฐ์ ์์์๋ถํฐ 7์๋ฆฌ ์ ๋๋ง ์ฌ์ฉํด๋ ๊ตฌ๋ณ์ด ๋๊ธฐ ๋๋ฌธ์ ๊ฐ ์ ์ฒด๋ฅผ ์ฌ์ฉํ ํ์๋ ์์ต๋๋ค.
HEAD
๋ผ๋ ํค์๋ ์กฐํฉ์ผ๋ก ํ์ฌ ์ปค๋ฐ ๊ธฐ์ค์ผ๋ก ์๋์ ์์น์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํฌ ์๋ ์๋๋ฐ ๊ท์น์ ์๋์ ๊ฐ์ต๋๋ค.

reflog์ ๋ฐ๋ฅธ ์๋์ ์ธ ์ปค๋ฐ ์์น๋ HEAD@{#}
์ผ๋ก ๊ฐ๋ฆฌํฌ ์ ์์ต๋๋ค. # ๋์ ์ซ์๋ฅผ ์ ์ผ์๋ฉด ๋ฉ๋๋ค.
#
reset- soft: index๋ ์ ์งํ๊ณ , HEAD๋ง ํด๋น ์ปค๋ฐ์ผ๋ก ๋๋๋ฆฝ๋๋ค.
- mixed: index, HEAD๋ฅผ ํด๋น ์ปค๋ฐ์ผ๋ก ๋๋๋ฆฝ๋๋ค. ํ์ผ ์์ ๋ด์ฉ์ ๋จ์์์ต๋๋ค.
- hard: ํด๋น ์ปค๋ฐ ์์ ์ผ๋ก ์์ ํ ๋๋๋ฆฝ๋๋ค.