โ ๋ฒ์ ๋๋๋ฆฌ๊ธฐ : reset
๐ git reset --hard 'HEAD^'
๐ git reset --mixed 'HEAD^'
๐ git reset --soft 'HEAD^'
- HEAD : ๊ฐ์ฅ ์ต๊ทผ ๋ฒ์
- ^ : ํ๋๋ง ๋๋๋ฆฌ์ ( ^^ : 2๊ฐ , ^^^ : 3๊ฐ )
โ ๋๋์ด์ ๊ด๋ฆฌํ๊ธฐ : branch
๊ฐ์ ์ฝ๋๋ฅผ ์ง์ ์ง์ ์ฃผ๊ณ ๋ฐ์๋ ๋ฌธ์ ๊ฐ ์์๊ฒ ๊ฐ์ง๋ง
๊ฐ์ ์ฝ๋๋ฅผ ์ง์ ์ง์ ์ฃผ๊ณ ๋ฐ์ผ๋ฉด ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
์ด๋ค ๋ฌธ์ ?
ํฉ์น๋ ๊ณผ์ ์์ ์ด๋ถ๋ถ์ ์ด๋ค ๋ถ๋ถ, ์ด๋ถ๋ถ์ ์ด๋ค ๋ถ๋ถ ๋ฑ
๊ฐ์์ ์ฝ๋๋ฅผ ๋ชจ๋ ํ์ธํด์ผํ๋ค.
๋๊ฐ์ ๋ถ๋ถ์ ๋ค๋ฅด๊ฒ ์์ ํ๋ ๋ฑ..
์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ์ํด์ ์ด๋ป๊ฒ ํด์ผ ํ ๊น ?
TeamC๊ฐ ์บ๋ฆญํฐ์ ์ ๋ฌด๊ธฐ๋ฅผ ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ๋ฅผ ์์ํ๊ณ , ์บ๋ฆญํฐ์ ๋ฌด๊ธฐ๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ์ด 1000๋ฒ์ ์ปค๋ฐ์ ์๋ฃํ๊ณ ๊ฐ๋ฐ์ ๋๋๋ค.
๊ทผ๋ฐ ๋ฌธ์ ๊ฐ ์๊ฒผ๋ค. ์๋ฅผ ๋ค์ด, ์บ๋ฆญํฐ ๋์์ธ์ด ๋ง์์ ์๋ ๋ค๋ ๊ฒ์ด๋ค. ํ์ ๋์ ์๋ก์ด ์บ๋ฆญํฐ๋ฅผ ํ๊ธฐํ๊ธฐ๋ก ํ๋ค.
TeamC์ ๊ณ ๋ฏผ ์์ -> 1000๊ฐ์ ์ปค๋ฐ์ค ์บ๋ฆญํฐ ๋์์ธ์ ํด๋นํ๋ ๋ถ๋ถ๋ง ์ ๊ฑฐํด์ผ ํ๋ค.
๊ฐ์์ branch๋ฅผ ๋ง๋ค์ด์ ์์ ํ๊ณ ํฉ์น๋ค !
๊ทธ๋ฆฌ๊ณ ํฉ์น ์ดํ ์ถฉ๋์ด ์ผ์ด๋๋ ๋ถ๋ถ๋ง ํ์ธํ๋ค.
๊ทธ๋ ๋ค๋ฉด Team C๊ฐ ๋ธ๋์น๋ฅผ ์ ์ฉํ๋ค๋ฉด ?
โ Branch
main : ์ต์ด์ ๋ธ๋์น
๐ git branch <๋ธ๋์น์ด๋ฆ> : ์ branch ์์ฑ ( * main์์ ํ๋ฒ์ด๋ผ๋ ์ปค๋ฐํด์ผ branch์์ฑ ๊ฐ๋ฅ )
ex. git branch my_branch
๐ git branch : ํ์ฌ branch๋ชฉ๋ก ํ์ธํ๊ธฐ
์ด๋ก์ : ํ์ฌ ๋ด๊ฐ main ๋ธ๋์น์ ์๋ ์ํ
๐ git checkout my_branch : ํด๋น ๋ธ๋์น๋ก ์ด๋ํ๊ธฐ
์ด๋์๋ฃ
๊ทธ๋ผ ๋ธ๋์น๋ฅผ ์ด๋ํ์ผ๋ ์ฌ๊ธฐ์ ํ์ผ์ git addํ๊ณ
์ปค๋ฐ+์ปค๋ฐ๋ฉ์ธ์ง๋ฅผ ๋จ๊ธฐ๋ฉด
โ ์ค์ : ์ด๋ค branch๋ฅผ ์ด๋๋ก ํฉ์น ๊ฒ์ธ๊ฐ
์ ์ ํด์ผ ํ๋ค.
A ๋ธ๋์น์ B๋ธ๋์น๋ฅผ ํฉ์น๋ค != B๋ธ๋์น์ A๋ธ๋์น๋ฅผ ํฉ์น๋ค.
-> ๋ณํฉ์ ๊ฒฐ๊ณผ๊ฐ ๋๋ ๋์์ checkout ํด์ฃผ์ด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด, my_branch์ ๋ด์ฉ์ main์ ํฉ์ณ์ผ ํ๋ค๋๊ฒ์ด๋ค.
1. ๐ git checkout main : main๋ธ๋์น๋ก ์ด๋ํด์
2. ๐ git merge my_branch : ํ์ฌ ๋ธ๋์น์ my_branch๋ฅผ merge ํ ๊ฒ์ ๋๋ค.
๐ ์ถ์ฒ
https://www.inflearn.com/course/%EB%B9%A0%EB%A5%B4%EA%B2%8C-git
'๐ป > Git&Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git/Github] ํ์ ์๋๋ฆฌ์ค (0) | 2024.03.11 |
---|---|
[Git/Github] Github ํ์ : remote / push / pull / fetch / clone (0) | 2024.03.10 |
[Git/Github] diff & revert (0) | 2024.03.10 |
[Git/Github] ๋ฒ์ ๊ด๋ฆฌ ์์ : add / commit / push (0) | 2024.03.09 |