์ ๋ฒ ๊ธ์ ์ด์ด Git์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ์ ๋ํด ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
git ๋ช ๋ น์ด ์ ๋ฆฌ
git reset file
-file
์ Staging Area์์ ์ ๊ฑฐํ๋ค. (์ฆ,git add file
์ ๋ฐ๋์ ๊ธฐ๋ฅ์ ํจ)
git help command
-command
๋ฅผ ์ค๋ช ํ๋ ๊ณต์ ๋ฌธ์๋ฅผ ์ด์ด์ค๋ค.
GitHub์ Local Repository ์ฐ๋
1. GitHub ํ์๊ฐ์ ํ๊ธฐ
GitHub ํ์๊ฐ์ ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
2. GitHub์ repository ๋ง๋ค๊ธฐ
GitHub์ ๋ก๊ทธ์ธํ์ฌ ์๋ก์ด repository๋ฅผ ํ ๊ฐ ๋ง๋ญ๋๋ค.
์ด์ ๊ด๋ จํด์๋ ์ฌ๊ธฐ ๋์์์ 1:05
- 2:38
๋ถ๋ถ์ ๋ฐ๋ผ ํด ์ฃผ์ธ์.
3. Local Repoistory๋ฅผ GitHub์ Repository์ ์ฐ๋
- GitHub์ ์ฌ๋ฆด ํ๋ก์ ํธ ํ์ผ์์ Git Bash๋ฅผ ์คํํ๋ค.
- Git Bash์์ ์์ ๋นจ๊ฐ ๋ถ๋ถ ์ฝ๋(3์ค)๋ฅผ ์คํํ๋ค.
git remote add origin 'github repository url'
- 'github repository url'(์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ)์ origin
์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์ฌ์ฉ(๋ฑ๋ก)ํ๊ฒ ๋ค๋ ๋ช
๋ น์ด
git branch -M main
- Git branch์ ์ด๋ฆ์ main
์ผ๋ก ์ค์ ํ๋ค.(๋ฐ๊พผ๋ค.)
git push -u origin main
- ์ด๋ ๊ฒ ํ๋ฉด,origin
์main
์ upstream,main
์origin
์ downstream ๊ด๊ณ๋ผ๊ณ ๋งํ ์ ์์.
4. GitHub์ Repository ๋ด์ฉ์ Local Repostiory๋ก ๊ฐ์ ธ์ค๊ธฐ
git pull origin main
-origin
(์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ) ๋ด์ฉ์main
(๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ)๋ก ๊ฐ์ ธ์จ๋ค.
- ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ์ ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์ ์ด๋ฆ์ ๊ทธ๋๋ก(origin, main)๊ฐ ์๋ ๊ฐ์๊ฐ ์ค์ ํ ์ด๋ฆ์ ์จ์ค์ผ ํ๋ค.
๋ฒ์ ๋ณ๊ฒฝํ๊ธฐ
reset vs revert
๋ฒ์ ์ ๋ณ๊ฒฝํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ git ๋ช ๋ น์ด๋ก reset๊ณผ revert๊ฐ ์กด์ฌํ๋ค.
reset
์ ํน์ ์ปค๋ฐ(๋ฒ์ )์ผ๋ก ๋์๊ฐ๋ฉด์ ์ดํ์ ์ปค๋ฐ(๋ฒ์ ) ๊ธฐ๋ก์ ๋ชจ๋ ์ญ์ ํ๋ค.
revert
๋ ํน์ ์ปค๋ฐ(๋ฒ์ )์ผ๋ก ๋์๊ฐ๋ฉฐ ์ด๋ฅผ ํ๋์ ์ปค๋ฐ(๋ฒ์ ) ํํ๋ก ์ด์ด์ ์ ์ฅํ๋ค.
git reset
git reset
์ 3๊ฐ์ง ์ต์
์ด ์์ผ๋ฉฐ, ๋์๊ฐ ์ปค๋ฐ ์ดํ์ ์ปค๋ฐ์ ๋ชจ๋ ์ญ์ ๋๋ค๋ ์ ์ ๋์ผํ๋ค.
git reset --hard <commit>
- HEAD๊ฐ<commit>
์ ๊ฐ๋ฆฌํค๋ฉฐ, Staing Area์ Wokring Directory ๋ชจ๋ ํด๋น ์์ ์ผ๋ก ๋์๊ฐ๋ค.
-<commit>
์ดํ์ ํ๋ ๋ชจ๋ ํ๋(์ปค๋ฐ)์ด ์ฌ๋ผ์ ธ๋ ์๊ด์์ ๋ ์ฌ์ฉํ๋ค.
git reset --mixed <commit>
- HEAD๊ฐ<commit>
์ ๊ฐ๋ฆฌํค๋ฉฐ, Staing Area๋ ํด๋น ์์ ์ผ๋ก ๋์๊ฐ๋ฉฐ Working Directory๋ ๊ทธ๋๋ก์ด๋ค.
- ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์งํ๋ฉฐ,<commit>
์์ ์ ๊ธฐ์ค์ผ๋ก ์ปค๋ฐ(๋ฒ์ ๊ธฐ๋ก)์ ์ด์ด ๋๊ฐ๋๋ฐ,<commit>
์์ ์ ๋ช๋ช ํ์ผ์ ์ ์งํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
git reset --soft <commit>
- HEAD๊ฐ<commit>
์ ๊ฐ๋ฆฌํค๋ฉฐ, Staing Area์ Wokring Directory ๋ชจ๋ ๊ทธ๋๋ก์ด๋ค.
- ํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์งํ๋ฉฐ,<commit>
์์ ์ ๊ธฐ์ค์ผ๋ก ์ปค๋ฐ(๋ฒ์ ๊ธฐ๋ก)์ ์ด์ด๋๊ฐ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
git commit
์ ํ๋ค๊ณ Staging Area๊ฐ ์ด๊ธฐํ๋๋ ๊ฒ์ด ์๋๋ค.
Staging Area์ ํ ๋ฒ ์ฌ๋ผ๊ฐ ํ์ผ์ Staging Area์ ๊ณ์ ์กด์ฌํ๋ฉฐ (git add
๋ฅผ ํตํด) ๊ฐฑ์ ๋ง ์ผ์ด๋๋ค.
์ฆ, Staging Area๊ฐ ํด๋น ์์ ์ผ๋ก ๋์๊ฐ๋ค๋ ์๋ฏธ๋ ๊ทธ ์ปค๋ฐ์ ํ ๋น์์ Staging Area๋ก ๋์๊ฐ๋ค๋ ์๋ฏธ์ด๋ค.
git revert
git revert
๋ ์ง์ ํน์ ์ปค๋ฐ์ผ๋ก ๋์๊ฐ๋ git reset
๊ณผ ๋ฌ๋ฆฌ ๊ธฐ์กด์ ์ปค๋ฐ์ ์ด์ ์ ์ํ๋ฅผ ์ปค๋ฐํ๋ฉฐ ๋์๊ฐ๋ค.
git revert <commit>
ํ์ฌ Working Directory, Staging Area์ ์ํ๋ฅผ<commit>
์ผ๋ก ๋๋๋ฆฐ๋ค.
์ฃผ์ํ ์ ์ ํ์ฌ ๋๋ ํ ๋ฆฌ ์ํ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐ๋ก ์ด์ ์ปค๋ฐ์ ํด๋นํ๋<commit>
์ ๋ฃ์ด์ค์ผ ๋์ํ๋ค.
git revert
์ ๊ด๋ จํ ๋ด์ฉ์ ์ถํ์ ์์ฑํด๋ณด๊ฒ ๋ค.
'๐ About .. > About Develope' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋ฆฌ (1์ผ์ฐจ) (2) | 2023.04.04 |
---|