git branch -r
๐ clone ๋ฐ์ ๋ ํ์งํ ๋ฆฌ์ ์ ์ฒด ๋ธ๋์น ํ์ธํ๊ธฐ
git switch origin/[๋ธ๋์น๋ช ]
๐ ์ํ๋ ๋ธ๋์น๋ก ์ด๋ํ๊ธฐ
(checkout์ด switch๋ก ๋ฐ๋)
git switch -c [์๋ก์ด ๋ธ๋์น๋ช ]
๐ ์๋ก์ด ๋ธ๋์น ๋ง๋ค๊ณ ๋ฐ๋ก ๊ฑฐ๊ธฐ๋ก ์ด๋ํ๊ธฐ
git branch -d [๋ธ๋์น๋ช ]
๐ ์ํ๋ ๋ธ๋์น ์ญ์ ํ๊ธฐ (์ ๋ธ๋์น๊ณผ ๋น๊ตํด์ ๋ณ๊ฒฝ์ฌํญ์ด ์์๋๋ง ๊ฐ๋ฅํ๋ค. )
์ญ์ ํ๋ ค๋ ๋ธ๋์น์์ ์ฌ์ฉ ๋ถ๊ฐ! ๋ค๋ฅธ ๋ธ๋์น์์ ์ญ์ ๊ฐ๋ฅ
git branch -D [๋ธ๋์น๋ช ]
๐๋ธ๋์น๋ฅผ ๊ฐ์ ๋ก ์ง์ฐ๊ธฐ
์ญ์ ํ๋ ค๋ ๋ธ๋์น์์ ์ฌ์ฉ ๋ถ๊ฐ! ๋ค๋ฅธ ๋ธ๋์น์์ ์ญ์ ๊ฐ๋ฅ
git branch -m [๋ธ๋์น๋ช ]
๐๋ธ๋์น ์ด๋ฆ ๋ณ๊ฒฝ
์ด๋ฆ ๋ณ๊ฒฝํ๋ ค๋ ๋ธ๋์น์์ ์ฌ์ฉ!!
git mv [๊ธฐ์กดํด๋๋ช ] [์์ํด๋๋ช ]
git mv [์์ํด๋๋ช ] [๋ฐ๊ฟํด๋๋ช ]
ex) git mv feature.tsx ./feature/temp
git mv /feature/temp /feature/feature.tsx .
๐ feature.tsx๋ผ๋ ํ์ผ์ feature๋ผ๋ ํด๋ ์์ temp๋ผ๋ ํ์ผ๋ช ์ผ๋ก ๋ฐ๊พธ๊ณ
feature๋ผ๋ ํด๋ ์์ temp๋ผ๋ ํ์ผ์ feature๋ผ๋ ํด๋ ์์ feature.tsx ํด๋๋ก ๋ฐ๊พผ๋ค.
์ฐธ๊ณ ํ ๋ธ๋ก๊ทธ
https://velog.io/@whddnjs1715/git-git-mv-%EB%AA%85%EB%A0%B9%EC%96%B4
git checkout head~1
๐ ์ต์ ์ปค๋ฐ์ผ๋ก๋ถํฐ ํ๋จ๊ณ ์ ์ผ๋ก ๋๋๋ฆฐ๋ค.
(git log --oneline ์ผ๋ก ํด์๋ฅผ ๋ณต์ฌํด์ git checkout ํด์๊ฐ์ ํด๋ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค. )
git checkout [๋ธ๋์น๋ช ]
๐ ์ํ๋ ๋ธ๋์น๋ก ๋๋์์จ๋ค.
(git switch - ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ฅ ์ต๊ทผ์ ์์ ํ๋ ๋ธ๋์น ํ๊ฒฝ์ผ๋ก ๋๋์์จ๋ค. )
git revert head~1
๐ ๋๋๋ ธ๋ค๊ฐ ๋์์ค์ง ์๊ณ ์์ ๋๋๋ฆฌ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
revert ๋ช ๋ น์ ํ๋ฉด ํด๋น ์ปค๋ฐ ๋ฒ์ ์ผ๋ก ์๋ก ์ปค๋ฐ์ ํด์ผํด์ ์ปค๋ฐ ๋ฉ์ธ์ง ์ ๋ ฅ์ฐฝ์ด ๋ํ๋๋ค.
(i ์ ๋ ฅํด์ ์ปค๋ฐ๋ฉ์ธ์ง ์์ ํ๊ณ , :wq ์ ๋ ฅํด์ ์ ์ฅํ ์ข ๋ฃํ๋ค. )
git stash
๐ ๋ธ๋์น๋ฅผ ์ ๊น ๋ฐ๊พธ๊ฑฐ๋ ํ ๋ ์์ ํ ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ์ ๊น ๋ณด๊ดํด์ ์ฝ๋ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ฒ ํ๋ค.
git stash pop
๐ ์ ๊น ์ ์ฅํด๋์๋ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ๋ถ๋ฌ์จ๋ค.
git stash list
๐ ์ง๊ธ๊น์ง ์ ๊น ์ ์ฅํด๋์๋(stash)์ ์ด๋ ฅ์ ๋ณผ ์ ์๋ค.
stash@{0} : WIP on ๋ธ๋์น๋ช : ~~
stash@{1} : WIP on ๋ธ๋์น๋ช : ~~
stash@{2} : WIP on ๋ธ๋์น๋ช : ~~
git stash apply stash@{1}
๐ ๋์๊ฐ๊ธฐ
git log --oneline
๐ git ์ด๋ ฅ์ ํ์ค์ ๋ณผ ์ ์๋ค.
git commit --amend
๐ ๋ฐ๋ก ์ง์ ์ ์ปค๋ฐ์ ์์ ํ ๋ (์ปค๋ฐ ๋ฉ์ธ์ง ์์ , ํ์ผ์ด๋ ํด๋ ์ถ๊ฐ)
git reset ํด์์ฝ๋
๐ ์ปค๋ฐ ๋ด์ฉ ์คํ ์ทจ์ํ๊ธฐ (์ปค๋ฐ ๋ฉ์ธ์ง๋ง ์ทจ์๋๊ณ , ์ฝ๋๋ ๊ทธ๋๋ก ๋จ์์๋ค. )
git reset --hard ํด์์ฝ๋
๐ ํด๋น ํด์์ฝ๋ ์ ๊น์ง์ ์ปค๋ฐ์ ์ทจ์ํ๋ค. ์์ ํ ์ฝ๋๋ค๋ ์ ๊ฑฐ๋๋ค. (์ปค๋ฐ ๋ฉ์ธ์ง์ ์ฝ๋ ๋ชจ๋ ์ญ์ ํ๋ค. )
git revert ํด์์ฝ๋
reset์ ์ปค๋ฐ์ ์์ ํ ์ ๊ฑฐํ๊ณ ๋ธ๋์น ํฌ์ธํฐ๋ฅผ ๋ค๋ก ์ด๋์ํจ๋ค.
revert๋ ์๋ก์ด ์ปค๋ฐ์ ๋ง๋ ๋ค. ๊ทธ ์๋ก์ด ์ปค๋ฐ์์ ์ด์ ์ปค๋ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ทจ์ํ๋ค.
git checkout -- ํ์ผ๋ช
git restore ํ์ผ๋ช
๐ ๋ง์ง๋ง ์ปค๋ฐ๊ณผ ๊ฐ์ ์ํ๋ก ๋ง๋ค์ด์ฃผ๊ธฐ
git switch master
git merge bugfix
๐ mergeํ๊ธฐ๋ฅผ ์ํ๋ ๋ธ๋์น๋ก ์ด๋ํด์ ๋จธ์งํ๊ธฐ.
bugfix ๋ธ๋์น๋ฅผ master ๋ธ๋์น์ ๋จธ์งํ๋ค.
git diff
๐ stage ๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ์ ๋ณด์ฌ์ค๋ค. (git add ํ์ง ์์ ๋ณ๊ฒฝ์ฌํญ)
git diff --staged
๐ stage ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ณด์ฌ์ค๋ค. (git addํ ๋ณ๊ฒฝ์ฌํญ)
git diff HEAD
๐ ํ์ฌ ์ํน ๋๋ ํ ๋ฆฌ์์ ์คํ ์ด์ง์ ๋ฑ๋ก๋์๊ฑฐ๋ ๋ฑ๋ก๋์ง ์์ ๋ณ๊ฒฝ์ฌํญ์ HEAD์ ๋น๊ตํ๋ค.
.gitignore
๐ git์๊ฒ ์ถ์ ๋์ง ์๊ฒ ํ๊ธฐ (์ค์ํ ์ ๋ณด๋ค(key, api..), dependency, packages...)
โ root ๋๋ ํ ๋ฆฌ์ ๋ง๋ ๋ค!
ํด๋๋ช ์ด๋ ํ์ผ๋ช ์ ์ ๋ ฅํ๋ค.
ํด๋ ์ด๋ฆ ๋ค์ ์ฌ๋์๋ฅผ ๋ถ์ด๋ฉด ์ ์ฒด ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์ธ์ํฌ ์ ์๋ค.
*.log๋ ํ์ฅ์๋ก, .log๋ฅผ ๊ฐ๋ ๋ชจ๋ ํ์ผ์ ์ ์ธํ๋ค.
ex) .DS_Store
node_modules/
/.npm
.settings
♣TIP! gitignore ํ์ผ์ ์ฝ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์ฌ์ดํธ (gitignore.io)
'๐คผGit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
clone ๋ฐ์ ๋ ํ์งํ ๋ฆฌ์์ env ์ค์ ํ๊ธฐ, go path ์ค์ ํ๊ธฐ (0) | 2023.04.12 |
---|---|
git push ํ๊ธฐ ์ comit message ์์ ํ๊ธฐ (0) | 2023.03.29 |
private repository ์์ ๋ด์ญ ์๋ ํ์ํ๊ธฐ (0) | 2022.09.13 |
github ๋ ํ์งํ ๋ฆฌ๋ฅผ ์๋ก ํ ๋ค๋ฉด? (0) | 2022.09.13 |
TIL) ๊น ๋ธ๋์น ๋ง๋ค๊ณ push ํ๊ธฐ (0) | 2022.08.24 |