๋ฐ๋ฏธ์ ์ ๊น&๊นํ๋ธ ์ ๋ฌธ (๊ณจ๋ ๋๋น) - ๋ฐ๋ฏธ์ ์
- ์ ์ฑ ์ ์ฝ์ผ๋ฉด์ ์ ๋ฆฌํ ๋ฆฌํฌํธ์ ๋๋ค. (๋๋ถ๋ถ ์ ๋ฆฌํ์ต๋๋ค.)
ls -a
: ์จ๊น ํด๋ ๋ฐ ํ์ผ ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๋ ๋ช
๋ น์ด, ํด๋๋ช
์์ ์ ์ด ์์ผ๋ฉด ์จ๊ฒจ์ง ํด๋ls -l
: .git ๋๋ ํ ๋ฆฌ๋ก ๊ฐ์ ์ฌ์ฉํ์ฌ ์จ๊ฒจ์ง ํด๋ ๋ฐ ํ์ผ ๋ชฉ๋ก์ ํ์ธrm -rf .git
: ํน์ ํ๋ก์ ํธ๋ฅผ ๊น ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ๋ก ๊ด๋ฆฌํ๊ณ ์ถ์ง ์๊ฑฐ๋ ์ฒ์๋ถํฐ ๋ค์ ๊น ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ๋ก ์ง์ ํ๊ณ ์ถ์ ๋, git init์ ์ทจ์ํ๋ ๋ฐฉ๋ฒ (.git ํ์ผ์ ์ญ์ )git config user.name "์ฌ์ฉ์ ์ด๋ฆ"
git config user.email "์ด๋ฉ์ผ ์ฃผ์"
git config --global user.name "์ฌ์ฉ์ ์ด๋ฆ"
git config --global user.email "์ด๋ฉ์ผ ์ฃผ์"
.git/config
ํ์ผ ๋ด๋ถcat .git/config
์ผ๋ก ๋ด์ฉ์ ํ์ธํ ์ ์๋ค.**'filemode = false'**
๋ก ์ค์ ํ์.'bare = true'
๋ก ์ค์ ํ์. ๋ณดํต ์๊ฒฉ ์ค์ ์ ์ฅ์๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉํ๋ค.'precomposeunicode = true'
๋ก ์ค์ ํ๋ฉด ํด๊ฒฐ ๊ฐ๋ฅgit remote add origin
๋ช
๋ น์ด๋ก ์๊ฒฉ ์ ์ฅ์ ์ฃผ์๋ฅผ ๊น ๋ก์ปฌ ์ ์ฅ์์ ๋ฑ๋ก์ด ๊ฐ๋ฅgit remote add origin {๋ณต์ฌํ ์๊ฒฉ ์ ์ฅ์ ์ฃผ์}
.gitignore
ํ์ผ์ ๋ง๋ ๋ค.# Logs
logs
*.log
npm-debug.log*
# Dependency directories
node_modules/
git status
๋ช
๋ น์ด๋ก ํ์ฌ ํ์ผ ์ํ๋ฅผ ํ์ธํ ์ ์๋ค.git log
๋ช
๋ น์ด๋ก ํ์ฌ ์์
ํ๋ ๋ธ๋์น์ ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ํ์ธํ ์ ์๋ค.
git log -p
: patch์ ์ฝ์, ํ์ผ ๋จ์์์ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ณด์ฌ์ค๋ค. (==git log โpatch)
git log -{์ซ์}
: ์ต๊ทผ ๋ช ๊ฐ์ ์ปค๋ฐ์ ๋ณด์ฌ์ค์ง๋ฅผ ์ง์ ํ๋ค.
git log --stat
****: ๊ฐ ์ปค๋ฐ์ ํต๊ณ(์ด๋ค ํ์ผ์ด ์์ , ๊ฐ ํ์ผ์์ ๋ช ์ค ์ถ๊ฐ/์ญ์ ) ์ ๋ณด
git log --pretty
: ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ์์ ์ง์ ํ ์ ์๋ค.
git log --pretty={option}
git log --pretty=oneline --graph
: ๊ทธ๋ํ ์ต์
์ด๋, ํ ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฌ ๊ฐ๋ฐ์๊ฐ ๋์์ ์์
ํ ๋ ๋ณดํต ์ฌ๋ฌ ๋ธ๋์น๋ฅผ ์์ฑํ๊ณ ๋ณํฉํ๋ ์์
์ ํ๊ฒ ๋๋๋ฐ, ์ด๋ ๊ธฐ์กด์ ๋ก๊ทธ ๋ช
๋ น์ด ๊ฒฐ๊ณผ์ฒ๋ผ ๋ก๊ทธ๋ฅผ ๋์ด๋งํ๋ฉด ํ๋ฆ ํ์
์ด ์ด๋ ต๋ค. --graph
์ต์
์ ์ฌ์ฉํ๋ฉด ๊ฐ์์ ์ผ๋ก ์ปค๋ฐ ๋ก๊ทธ์ ํ๋ฆ์ ํ์
ํ ์ ์๋ค. ์ด๋ฅผ ๋ ๊ฐ์์ ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด์ --pretty=oneline
์ต์
์ ๊ฐ์ด ์ฌ์ฉํ๋ฉด ์ข๋ค.
๊น์๋ HEAD๋ผ๋ ํน๋ณํ ํฌ์ธํฐ๊ฐ ์กด์ฌํ๋๋ฐ, ํ์ฌ ์์ ํ๋ ๋ธ๋์น์ ์ต์ข ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๊ณ ์๋ค. HEAD โ main๊ณผ ๊ฐ์ด ์กด์ฌํ๋ค.
git commit --amend
๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด ๋ง์ง๋ง ์ปค๋ฐ ์๋ํฐ ํ๋ฉด์ ๋ณด์ฌ์ค๋ค. ์ปค๋ฐ ๋ฉ์ธ์ง๋ฅผ ์์ ํ๊ณ ๋ค์ ์ ์ฅํ๋ฉด ๋ง์ง๋ง ์ปค๋ฐ ๋ฉ์ธ์ง๊ฐ ์์ ๋๋ค.git commit --amend -m "์์ ๋ฉ์ธ์ง"
ํ ์ค๋ก ๊ฐ๋จํ๊ฒ ์์ ๊ฐ๋ฅํ๋ค.git commit --amend --no-edit
์ปค๋ฐ ๋ฉ์ธ์ง ์์ ์์ด, .gitignore์ ์ถ๊ฐ ๋ณ๊ฒฝ ๋ด์ฉ์ ๊ธฐ์กด ์ปค๋ฐ์ ๋ฐ์ํ ์ ์๋ค.git commit --amend --author "username <email>"
์ ์ ์ ๋ณด๋ฅผ ์์ ํ ์ ์๋ค.git push {์ ์ฅ์] {๋ธ๋์น}
์ธ๋ฐ, ์ ์ฅ์๋ ํน์ ์๊ฒฉ ์ ์ฅ์๋ฅผ ์๋ณํ๋ ์ด๋ฆ์ด๋ค.git push origin main
: origin์ด๋ผ๋ ํน์ ์๊ฒฉ ์ ์ฅ์์ ์ง์ญ ์ ์ฅ์์ main ๋ธ๋์น ์ปค๋ฐ์ ๋ฑ๋กํ๋ค๋ ๋ปgit remote add origin2 {url}
: origin2 ๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋ฑ๋กํ๋ค.git push origin2 main
: origin2 ์๊ฒฉ ์ ์ฅ์์, main ๋ธ๋์น์, ์ปค๋ฐ์ด ๋๋ค.git clone "์๊ฒฉ ์ ์ฅ์ ์ฃผ์" "์๋ก์ด ์ ์ฅ์ ์ด๋ฆ"