Bibi's DevLog ๐ค๐
[์ง์ฅ์์ ์จ Git] 2. ๊น ๋ฒ์ ๊ด๋ฆฌ - ๊ฐ๋ / status, add, commit, log, diff / ๊น ํ์ผ ์ํ / .gitignore / ๋๋๋ฆฌ๊ธฐ checkout, reset, revert ๋ณธ๋ฌธ
[์ง์ฅ์์ ์จ Git] 2. ๊น ๋ฒ์ ๊ด๋ฆฌ - ๊ฐ๋ / status, add, commit, log, diff / ๊น ํ์ผ ์ํ / .gitignore / ๋๋๋ฆฌ๊ธฐ checkout, reset, revert
๋น๋น bibi 2021. 2. 9. 00:122. ๊น์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ
๊น ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด์๋, ๋จผ์ ํน์ ๋๋ ํ ๋ฆฌ์์ ๊น์ ์ด๊ธฐํํด์ผ ํ๋ค.
git init
: initialize(์ด๊ธฐํํ๋ค) ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์ ์ฅ์(.git
)๋ฅผ ๋ง๋ฆ.
(๊น์ ์ฌ์ฉํ ์ ์๋๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ์ด๊ธฐํํจ).git
: ๊น์ ์ฌ์ฉํ๋ฉด์ ๋ฒ์ ์ด ์ ์ฅ๋ ์ ์ฅ์(repository).
์จ๊น ํ์ผ์ด๋ค (์ฌ์ฉ์๊ฐ ์ค์๋ก .git์ ์ง์ฐ์ง ์๋๋ก ํ๊ธฐ ์ํด)
git init ๋๋ ํ ๋ฆฌ๋ช
: ์๋ก์ด ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ ์ฅ์๋ฅผ ์ด๊ธฐํํจ (mkdir + init)
๋ฒ์ ์ด๋?
: (ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์์) ์์ ๋ด์ฉ์ด ์์ฌ ์ด์ ์ํ์ ๊ตฌ๋ณ๋ ๊ฒ. ์๋ก ๋ฒํธ๋ฅผ ๋ถ์ฌ์ ๊ด๋ฆฌํจ.
0.0.1 - 0.0.2 - ... - 2.23.0 ๊ณผ ๊ฐ์ด ๊ตฌ๋ถ
: (๊น์์) ๋ฌธ์๋ฅผ ์์ ๋ฐ ์ ์ฅํ ๋๋ง๋ค ์๊ธฐ๋ ๊ฒ.
์์ ํธ๋ฆฌ, ์คํ ์ด์ง, ์ ์ฅ์ ๋ฐ ์ปค๋ฐ
- ์์
ํธ๋ฆฌ working tree (๋๋ ์์
๋๋ ํ ๋ฆฌ)
: ํ์ผ ์์ , ์ ์ฅ ๋ฑ ์์ ์ ํ๋ ๋๋ ํ ๋ฆฌ. ์ฐ๋ฆฌ ๋์ ๋ณด์ด๋ ๋๋ ํ ๋ฆฌ์ ํด๋นํจ. - ์คํ
์ด์ง stage (๋๋ ์คํ
์ด์ง ์์ญ)
: (.git
์ ์จ๊ฒจ์ ธ ์๋ค)
๋ฒ์ ์ผ๋ก ๋ง๋ค ํ์ผ์ด ๋๊ธฐํ๋ ๊ณณ.
์์ ํ ํ์ผ ์ค ๋ฒ์ ์ผ๋ก ๋ง๋ค ํ์ผ์ ์คํ ์ด์ง๋ก ๋ณด๋ด๋ฉด ๋๋ค..git/index
: ์คํ ์ด์ง์ ๋ด์ฉ์.git
๋๋ ํ ๋ฆฌ์ ์ธ๋ฑ์ค ํ์ผ์ ์ ์ฅ๋จ
- ์ ์ฅ์ repository (๋ฆฌํฌ์งํ ๋ฆฌ)
: (.git
์ ์จ๊ฒจ์ ธ ์๋ค)
์คํ ์ด์ง์ ๋๊ธฐ ํ์ผ๋ค์ ๋ฒ์ ์ผ๋ก ๋ง๋ค์ด ์ ์ฅํ๋ ๊ณณ..git/HEAD
: ์ ์ฅ์์ ๋ด์ฉ์.git
๋๋ ํ ๋ฆฌ์ HEADํ์ผ์ ์ ์ฅ๋จ
- ์ปค๋ฐ commit
: ์คํ ์ด์ง์ ๋๊ธฐ ํ์ผ๋ค์ ๋ฒ์ ์ผ๋ก ๋ง๋ค์ด ์ ์ฅ์์ ์ ์ฅํ๋ ๋ช ๋ น.
๊น ์ํ ํ์ธ
git status
: ๊น ์ํ๋ฅผ ํ์ธํ๋ ๋ช ๋ น์ด.On branch master
: ํ์ฌ ๋ง์คํฐ ๋ธ๋์น์ ์๋ค.No commits yet
: ์์ง ์ปค๋ฐํ ํ์ผ์ด ์๋ค.nothing to commit
: ํ์ฌ ์ปค๋ฐํ ํ์ผ์ด ์๋ค. =๋ฒ์ ์ผ๋ก ๋ง๋ค ํ์ผ์ด ์๋ค.Untracked files : ํ์ผ๋ช
: ํ ๋ฒ๋ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ์ง ์์ ํ์ผ์ด ์๋ค.Changes to be committed : ํ์ผ๋ช
: ์ ํ์ผ์ ์์ผ๋ก ์ปค๋ฐํ ๊ฒ์ด๋ค.working tree clean
: ์์ ํธ๋ฆฌ๊ฐ ์์ ์ฌํญ ์์ด ๊นจ๋ํ๋ค.Changes not staged for commit : ํ์ผ๋ช
: ํ์ผ์ด ์์ ๋์๊ณ ์์ง ์คํ ์ด์ง๋์ง ์์๋ค.
์คํ
์ด์ง - add
git add ํ์ผ๋ช
: ์์ ํธ๋ฆฌ์์ ์์ฑ ๋๋ ์์ ํ ํ์ผ์ ์คํ ์ด์ง์ ์ถ๊ฐํ๋ ๋ช ๋ น์ด.
'์คํ ์ด์ง staging' ๋๋ '์ธ๋ฑ์ค์ ๋ฑ๋กํ๋ค' ๋ผ๊ณ ํจ.git add .
: ์์ ํธ๋ฆฌ์์ ์์ ํ ํ์ผ๋ค์ ํ๊บผ๋ฒ์ ์คํ ์ด์ง์ ์ถ๊ฐํจ.add
๋ก ์ถ๊ฐํ๋ฉด ์คํ ์ด์ง์ด ๋๋ ๊ฒ = ๋ฒ์ ์ ๋ง๋ค ์ค๋น๊ฐ ๋์๋ค.warning: LF will be replaced by CRLF in ํ์ผ๋ช .
The fill will have its original line endings in your working directory
: (์๋ฏธ)๊น์์ ์๋์ผ๋ก ํ ์คํธ๋ฌธ์์ CRLF๋ฌธ์๋ฅผ LF๋ฌธ์๋ก ๋ณํํด ์ปค๋ฐํ๊ฒ ๋ค.
์๋์ฐ์ ๋ฆฌ๋ ์ค์ ์ค๋ฐ๊ฟ๋ฌธ์( = ๊ฐํ๋ฌธ์, end of line, eol, line endings)๊ฐ ๋ฌ๋ผ์ ๋ํ๋๋ ๊ฒฝ๊ณ .์๋์ฐ๋ ํ์ผ ์ ์ฅ์, ์ค๋ฐ๊ฟ ์๋ฆฌ์ CR๋ฌธ์์ LF๋ฌธ์๊ฐ ์ฝ์ ๋จ (=CRLF)
๋ฐ๋ฉด ๋ฆฌ๋ ์ค & ๋งฅ์ ํ์ผ ์ ์ฅ์, ์ค๋ฐ๊ฟ ์๋ฆฌ์ LF๋ฌธ์๊ฐ ์ฝ์ ๋จ
๊น์ ๋ฆฌ๋ ์ค ํ๊ฒฝ์ด๋ฏ๋ก ์๋์ฐ ํ ์คํธ๋ฌธ์๋ฅผ ์คํ ์ด์งํ ๋ ์์ ๊ฐ์ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋์ค๋ ๊ฒ.
(๋ฉ์์ง ๋ป๋ง ์ดํดํ๊ณ ๋์ด๊ฐ๋ฉด ๋๋ค)
์ปค๋ฐ - commit
git commit -m "์ปค๋ฐ๋ฉ์์ง"
: ๊น์์ ํ์ผ์ ์ปค๋ฐํ๋ ๋ช ๋ น์ด.
์คํ ์ด์ง์ ์๋ ํ์ผ์ ๋ฒ์ ์ ์ ์ฅ์์ ์ ์ฅํจ.-m
: ์ปค๋ฐ๋ฉ์์ง๋ฅผ ์ถ๊ฐํ๋ ์ต์ . ์ปค๋ฐ๋ฉ์์ง๋ ์ฃผ๋ก ์์ด๋ก ์์ฑ1 file changed, 1 insertion(+)
: ํ์ผ 1๊ฐ๊ฐ ๋ณ๊ฒฝ๋์๊ณ , ํ์ผ์ 1๊ฐ์ ๋ด์ฉ์ด ์ถ๊ฐ๋์๋ค.
(์ปค๋ฐํ ํ์ผ์ด ์ ์ฅ์์ ์ถ๊ฐ๋จ)
git commit -am "์ปค๋ฐ๋ฉ์์ง"
(๋๋git commit -a -m "์ปค๋ฐ๋ฉ์์ง"
)
:add
+commit
.
๊น์์ ์คํ ์ด์ง๊ณผ ์ปค๋ฐ์ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌํ๋ ๋ช ๋ น์ด.- ํ ๋ฒ์ด๋ผ๋ ์ปค๋ฐํ ์ ์ด ์๋ ํ์ผ ๋์์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ.
git commit --amend
: ๊ฐ์ฅ ์ต๊ทผ์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์์
์ปค๋ฐ ๋ก๊ทธ : ์ปค๋ฐ ๋ด์ฉ ํ์ธํ๊ธฐ
git log
: ์ปค๋ฐ ๊ธฐ๋ก์ ์ดํด๋ณด๋ ๋ช ๋ น์ด.
์ง๊ธ๊น์ง ๋ง๋ ๋ฒ์ ๋ฐ ์ปค๋ฐ ์์ฑ์, ์์ฑ์๊ฐ, ์ปค๋ฐ๋ฉ์์ง ์กฐํ ๊ฐ๋ฅ.git log --stat
: ๊ฐ ์ปค๋ฐ๋ก๊ทธ์ ๊ด๋ จ๋ ํ์ผ๊น์ง ์์ธํ ๋ํ๋ธ๋ค.git log --oneline
: ํ ์ค์ ํ ์ปค๋ฐ์ฉ ๊ฐ๋ตํ ๋ํ๋ธ๋ค.git log --oneline --branches
: ๋ชจ๋ ๋ธ๋์น์ ์ปค๋ฐ์ ํ ์ค์ฉ ๋ํ๋ธ๋ค.git log --oneline --branches --graph
: ๋ชจ๋ ๋ธ๋์น์ ์ปค๋ฐ์ ๊ด๊ณ๋ฅผ ๊ทธ๋ํ ํํ๋ก ํ์ํจgit log ๋ธ๋์น1..๋ธ๋์น2
: ๋ธ๋์น1๊ธฐ์ค์ผ๋ก ๋ธ๋์น2์ ๋น๊ตํจ (๋ธ๋์น2์๋ง ์๋ ์ปค๋ฐ์ ๋ํ๋)- ์ปค๋ฐ ๋ก๊ทธ commit log :
git log
๋ก ๋์ค๋ ์ปค๋ฐ ๋ด์ญ๋ค์ ๋งํจ. - ๋ก๊ทธ๊ฐ ๋๋ฌด ๋ง์ ๊ฒฝ์ฐ ํ ํ๋ฉด์ฉ ๋๋์ด ๋ณด์ฌ์ค๋ค.
Enter
๋ก ๋ค์ ๋ก๊ทธํ๋ฉด์ผ๋ก ์ด๋ํ ์ ์์.q
๋ก ๋ก๊ทธ ํ๋ฉด์ ๋น ์ ธ๋์ ๊น ๋ช ๋ น์ ์ ๋ ฅํ ์ ์์.
commit 70b22aae93090437b55f79890bd54a39c2ebb2f8
: ์ปค๋ฐ ํด์ commit hash (๋๋ ๊น ํด์).
์ปค๋ฐ์ ๊ตฌ๋ณํ๋ ์์ด๋์ ํด๋นํจ(HEAD -> master)
: ํด๋น ๋ฒ์ /์ปค๋ฐ์ด ๊ฐ์ฅ ์ต์ ๋ฒ์ ์์ ๋ํ๋ด๋ ํ์.Author :
: ๋ฒ์ ์ ๋ง๋ ์ฌ๋Date :
: ๋ฒ์ ์ด ๋ง๋ค์ด์ง ๋ ์งcommit message 1
๋ฑ Date ์๋์ ๋ด์ฉ
: ์์ฑ์๊ฐ ๊ธฐ๋กํ ์ปค๋ฐ ๋ฉ์์ง
๋ณ๊ฒฝ ์ฌํญ ํ์ธํ๊ธฐ - git diff
์์
ํธ๋ฆฌ์ ํ์ผ vs ์คํ
์ด์ง์ ํ์ผ ๋น๊ต
๋๋ ์คํ
์ด์ง์ ํ์ผ vs ์ ์ฅ์์ ์ปค๋ฐ ๋น๊ตํ ์ ์๋ค.
git diff
: ์์ ํ ํ์ผ ๊ณผ ์ต์ ๋ฒ์ ์ ๋น๊ตํ๋ ๋ช ๋ น์ด.- ์ดํ ๋นจ๊ฐ์ ๋ด์ฉ
: ์ญ์ ๋ ๋ด์ฉ+ ์ดํ ์ด๋ก์ ๋ด์ฉ
: ์ถ๊ฐ๋ ๋ด์ฉ
๋ฒ์ ๋ง๋๋ ๋จ๊ณ๋ง๋ค ํ์ผ ์ํ ์์๋ณด๊ธฐ
๊น์์๋ ๋ฒ์ ์ ๋ง๋๋ ๊ฐ ๋จ๊ณ๋ง๋ค ํ์ผ ์ํ๋ฅผ ๋ค๋ฅด๊ฒ ํ์ํ๋ค.
git log --stat
: ๊ฐ ์ปค๋ฐ๋ก๊ทธ์ ๊ด๋ จ๋ ํ์ผ๊น์ง ์์ธํ ๋ํ๋ธ๋ค.
trackedํ์ผ๊ณผ untrackedํ์ผ
์์ ํธ๋ฆฌ์ ์๋ ํ์ผ์ ํฌ๊ฒ trackedํ์ผ๊ณผ untrackedํ์ผ๋ก ๋๋๋ค.
- tracked ํ์ผ
: ํ ๋ฒ์ด๋ผ๋ ์ปค๋ฐํ ์ ์ด ์์ด, ๊น์ด ์์ ๋ด์ญ์ ์ถ์ ํ๋ ํ์ผ.Changes not staged for commit:
: ๋ณ๊ฒฝ๋ ํ์ผ์ด ์คํ ์ด์ง๋์ง ์์.modified: ์์ ๋ํ์ผ๋ช
: ์์ ๋ ํ์ผ์ ์๋ ค์ค.
- untracked ํ์ผ
: ํ ๋ฒ๋ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์ด ์์ด, ๊น์ด ์์ ๋ด์ญ์ ์ถ์ ํ์ง ์๋ ํ์ผ.Untracked files:
..
- trackedํ์ผ :
add
ํ๋ฉดmodified
๋ก ํ์๋จ - untrackedํ์ผ :
add
ํ๋ฉดnew file
๋ก ํ์๋จ
.gitignore
: ๋ฒ์ ๊ด๋ฆฌ ์ค์ธ ๋๋ ํ ๋ฆฌ ๋ด์, ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ์ง ์์ ํน์ ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ๊ฐ ์์ ๋ ์ฌ์ฉํ๋ ์จ๊น ํ์ผ.
.gitignore
๋ผ๋ ์ด๋ฆ์ ํ์ผ ๋ด์
๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ์ง ์์ ํ์ผ/๋๋ ํ ๋ฆฌ ์ด๋ฆ์ด๋ ํ์ผ ํ์ฅ์๋ฅผ ์ ๋ ฅํ๋ค.- ์ฃผ๋ก ์๋ ์์ฑ๋๋ .swpํ์ผ, ๋ฐฑ์ ํ์ผ, ๋ฉ๋ชจ ํ์ผ ๋ฑ์ด ํฌํจ๋จ.
unmodified, modified, staged ์ํ
tracked ํ์ผ์ ์ปค๋ฐ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ unmodified, modified, staged ์ํ๋ก ๋ฐ๋ ์ ์๋ค.
unmodified ์ํ
: ๋ง์ง๋ง ์ปค๋ฐ ํ ์์ ๋์ง ์์ ์ํ. ์์ ํธ๋ฆฌ์ ๋ณ๊ฒฝ์ฌํญ์ด ์์.git status
:nothing to commit, working tree clean
์ผ๋ก ๋ํ๋จ
modified ์ํ
: ๋ง์ง๋ง ์ปค๋ฐ ํ ์์ ๋์์ผ๋, ์์ง ์คํ ์ด์ง์ ์ฌ๋ผ๊ฐ์ง ์์ ์ํ.git status
:Changes not staged for commit
,modified : ํ์ผ๋ช (๋นจ๊ฐ์)
์ผ๋ก ๋ํ๋จ
staged ์ํ
: ์์ ๋ ํ์ผ์ด ์คํ ์ด์ง์ ์ฌ๋ผ๊ฐ ์๋ ์ํ.- ์ปค๋ฐ ์ง์ ๋จ๊ณ - ์ปค๋ฐํ ๋ณ๊ฒฝ์ฌํญ์ด ์๋ ์ํ์.
- staged์ํ์ ํ์ผ์ ์ปค๋ฐํ๋ฉด, ํด๋น ํ์ผ์ ๋ค์ unmodified์ํ๋ก ๋์๊ฐ๋ค.
git status
:Changes to be committed
,modified : ํ์ผ๋ช (์ด๋ก์)
์ผ๋ก ๋ํ๋จ
์์ ๋๋๋ฆฌ๊ธฐ
์์ ํธ๋ฆฌ - ์คํ ์ด์ง - ์ ์ฅ์ ๊ฐ ๋จ๊ณ๋ก ๋ค์ ๋์๊ฐ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณธ๋ค.
์์ ํธ๋ฆฌ์์ ์์ ํ ํ์ผ ๋๋๋ฆฌ๊ธฐ
git checkout
: ์์ ํ ๋ด์ฉ์ ์ทจ์ํ๊ณ , ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ผ๋ก ๋๋๋ฆฌ๋ ค ํ ๋ ์ฌ์ฉํจ.checkout
์ผ๋ก ๋๋๋ฆฐ ๋ด์ฉ์ ๋ค์ ๋ณต๊ตฌํ ์ ์๋ค.
- ์กฐ๊ฑด : ์์
ํธ๋ฆฌ์์ ์์ ๋์์ง๋ง ์์ง ์คํ
์ด์ง์ ์ฌ๋ฆฌ์ง ์์์ ๋.
Change not staged for commit
(๊ตฌ)(use "git checkout <file>..." to discard changes in working directory)
- โ ํ์ฌ
checkout
๋ช ๋ น์ด๋ ์ฌ๋ผ์ง๊ณswitch
์restore
๋ก ๋ถ๋ฆฌ๋ ์ํ.
๋ฐ๋ผ์ ์์ ํ์ผ์ ๋๋๋ฆด ๋๋checkout
๋์restore
๋ฅผ ์ฌ์ฉํ๋ค.(use "git restore <file>..." to discard changes in working directory)
git restore ํ์ผ๋ช
: ํด๋น ํ์ผ์ ์์ ํธ๋ฆฌ ๋ณ๊ฒฝ์ฌํญ์ ์ทจ์ํจ.
(deprecated)git checkout -- hello.txt
๋ ๊ฐ์ ๊ธฐ๋ฅ.
์คํ ์ด์ง ๋๋๋ฆฌ๊ธฐ (unstage)
git reset HEAD ํ์ผ๋ช
: ์คํ ์ด์ง๋ ํ์ผ์ ์คํ ์ด์ง์ ์ทจ์ํ๋ ๋ช ๋ น์ด.์กฐ๊ฑด : ์คํ ์ด์ง๋ ํ์ผ (์์ง ์ปค๋ฐํ์ง ์์์ ๋)
Changes to be committed :
- (๊ตฌ)
(use "git reset HEAD <file>..." to unstage
)- ์ฌ์ฉ ํ :
Unstaged changes after reset : ํ์ผ๋ช
- ์ฌ์ฉ ํ :
- (ํ์ฌ)
(use "git restore --staged <file>... " to unstage)
- ์ ์์ ์ผ๋ก unstage๋ ๊ฒฝ์ฐ ์๋ฌด๋ฐ ๋ฉ์์ง ์์
์ต์ ์ปค๋ฐ ๋๋๋ฆฌ๊ธฐ
git reset HEAD^
: ๊ฐ์ฅ ๋ง์ง๋ง์ ํ ์ปค๋ฐ(HEAD -> master
)์ ์ทจ์ํจ.HEAD^
: ํ์ฌ HEAD๊ฐ ๊ฐ๋ฆฌํค๋ ๋ธ๋์น์ ์ต์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํด.- ์ฌ์ฉ ํ :
Unstaged changes after reset : ํ์ผ๋ช
(unstage์ ๋์ผ)
git reset HEAD~3
: ๊ฐ์ฅ ์ต๊ทผ์ 3๊ฐ์ ์ปค๋ฐ์ ์ทจ์ํจ.- ์ทจ์ํ ํ์ผ์ด ์์ ํธ๋ฆฌ์๋ง ๋จ๋๋ค.
- ์ปค๋ฐ๋ ์ทจ์๋๊ณ ์คํ ์ด์ง์์๋ ๋ด๋ ค๊ฐ๋ค.
git reset --soft HEAD^
: ์ต๊ทผ ์ปค๋ฐ์ ํ๊ธฐ ์ ์ํ๋ก ์์ ํธ๋ฆฌ๋ฅผ ๋๋๋ฆผ.git reset --mixed HEAD^
: ์ต๊ทผ ์ปค๋ฐ๊ณผ ์คํ ์ด์ง์ ํ๊ธฐ ์ ์ํ๋ก ์์ ํธ๋ฆฌ๋ฅผ ๋๋๋ฆผ.- (์ต์
์์ด
git reset
์ ํ ๊ฒฝ์ฐ ์ด ์ต์ ์ผ๋ก ์๋ํจ)
- (์ต์
์์ด
git reset --hard HEAD^
: ์ต๊ทผ ์ปค๋ฐ๊ณผ ์คํ ์ด์ง, ํ์ผ ์์ ์ ์ํ๋ก ์์ ํธ๋ฆฌ๋ฅผ ๋๋๋ฆผ.- ์ด ์ต์ ์ผ๋ก ๋๋๋ฆฐ ๋ด์ฉ์ ๋ณต๊ตฌํ ์ ์์.
ํน์ ์ปค๋ฐ์ผ๋ก ๋๋๋ฆฌ๊ธฐ
git reset ์ปค๋ฐํด์
:์ปค๋ฐํด์
์ ์ปค๋ฐ(๋ฒ์ )์ผ๋ก ๋๋๋ฆฌ๊ณ , ๊ทธ ์ดํ ๋ฒ์ ์ ์ญ์ ํจ.- ํด๋น ์ปค๋ฐ์ ๋ฆฌ์
ํ๋ ๊ฒ์ด ์๋๋ผ, ์ต์ ์ปค๋ฐ์ด
์ปค๋ฐํด์
์ปค๋ฐ์ด ๋๋๋ก ๋ฆฌ์ ํ๋ ๊ฒ์. ์ปค๋ฐํด์
: "๋๋์๊ฐ ์ปค๋ฐํด์"๋ฅผ ์ง์ ํ๋ค.
- ํด๋น ์ปค๋ฐ์ ๋ฆฌ์
ํ๋ ๊ฒ์ด ์๋๋ผ, ์ต์ ์ปค๋ฐ์ด
git reset --hard ์ปค๋ฐํด์
:์ปค๋ฐํด์
์ ์ปค๋ฐ์ผ๋ก ๋๋๋ฆฌ๊ณ , ๊ทธ ์ดํ์ ์ปค๋ฐ, ์คํ ์ด์ง, ํ์ผ์์ ์ ๋ชจ๋ ์ญ์ ํจ.(๋ณต๊ตฌ ๋ถ๊ฐ๋ฅ)- ์ฌ์ฉ ํ :
HEAD is now at ์ปค๋ฐํด์ ์ปค๋ฐ๋ฉ์์ง
.
- ์ฌ์ฉ ํ :
์ปค๋ฐํด์๋ฅผ ๋ณต์ฌํ ๋๋ ๋จ์ถํค๊ฐ ์๋ ๋ง์ฐ์ค ํด๋ฆญ์ ์ฌ์ฉํด์ผ ํ๋ค.
์ปค๋ฐ ์ญ์ ํ์ง ์๊ณ ๋๋๋ฆฌ๊ธฐ (์ทจ์)
๋์ค์ ์ฌ์ฉํ ๊ฒ์ ๋๋นํด, ์ปค๋ฐ์ ๋๋๋ฆฌ๋๋ผ๋ ์ทจ์ํ ์ปค๋ฐ์ ๋จ๊ฒจ๋์ด์ผ ํ ๋ ์ฌ์ฉ.
git revert ์ปค๋ฐํด์
:์ปค๋ฐํด์
์ ์ปค๋ฐ์ผ๋ก ๋๋๋ฆฌ๋, ์ทจ์ํ ์ปค๋ฐ๊น์ง ๋จ๊ฒจ ๋ .์ปค๋ฐํด์
: "์ทจ์ํ ์ปค๋ฐํด์"๋ฅผ ์ง์ ํ๋ค.
revert
์ฌ์ฉ ์ ๊ธฐ๋ณธ ํธ์ง๊ธฐ๊ฐ ์๋์ผ๋ก ๋ํ๋๋ฉด์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์ ๋ ฅํ ์ ์๋ค.- revertํ๋ฉด์ ์ถ๊ฐ๋ก ๋จ๊ฒจ๋ ๋ด์ฉ์ ์ ๋ ฅํ๊ณ ์ ์ฅํ๋ค
- ์ฌ์ฉ ํ ์ปค๋ฐ๋ฉ์์ง :
Revert ์ปค๋ฐ๋ฉ์์ง
revert๋ ๊ธฐ์กด ์ปค๋ฐ์ ์ง์ฐ๋ ๋์ , ๋ณ๊ฒฝ์ด๋ ฅ์ ์ทจ์ํ ์ ์ปค๋ฐ์ ๋ง๋๋ ๋ฐฉ์์ด๋ค.