โป๏ธ Goal
- git add ์ทจ์
- git commit ์ทจ์
- git push ์ทจ์
- untracked ํ์ผ ์ญ์
โป๏ธ Git add ์ทจ์(Stage โก Unstage)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ ํ์ผ์ด staged ์ํ๋ก ๋ณ๊ฒฝ๋จ (1)
$ git add *
// ๋๋ ํ ๋ฆฌ์ ์๋ ๋ชจ๋ ํ์ผ์ด staged ์ํ๋ก ๋ณ๊ฒฝ๋จ (2)
$ git add .
// * ๋ก ์คํ
์ด์ง ๋ ํ์ผ์ ์ญ์ ์ด๋ ฅ์ ํฌํจํ์ง ์๋๋ค.
// . ๋ก ์คํ
์ด์ง๋ ํ์ผ์ ์ญ์ ์ด๋ ฅ์ ํฌํจํ๋ค.
// ๋ชจ๋ Staged ๋ ํ์ผ์ Unstage ์ํ๋ก ๋ณ๊ฒฝ
$ git reset
// ํน์ Staged ๋ ํ์ผ์ Unstage ์ํ๋ก ๋ณ๊ฒฝ
$ git reset HEAD ํ์ผ๋ช
โป๏ธ Git commit ์ทจ์
1
2
3
4
5
6
7
8
9
10
// commit ๋ชฉ๋ก ํ์ธ
$ git log
// [๋ฐฉ๋ฒ 1] commit ์ทจ์ ํ ์ทจ์๋ ํ์ผ์ staged ์ํ๋ก ์์
๋๋ ํ ๋ฆฌ์ ๋ณด์กด
$ git reset --soft HEAD^
// [๋ฐฉ๋ฒ 2] commit ์ทจ์ ํ ์ทจ์๋ ํ์ผ์ unstaged ์ํ๋ก ์์
๋๋ ํ ๋ฆฌ์ ๋ณด์กด
$ git reset --mixed HEAD^ // ๊ธฐ๋ณธ์ต์
$ git reset HEAD^ // ๊ธฐ๋ณธ์ต์
2
$ git reset HEAD~2 // ๋ง์ง๋ง 2๊ฐ์ commit ์ทจ์
// [๋ฐฉ๋ฒ 3] coomit ์ทจ์ ํ ์ทจ์๋ ํ์ผ์ unstaged ์ํ๋ก ์์
๋๋ ํ ๋ฆฌ์์๋ ์ญ์
$ git reset --hard HEAD^
- reset ๊ด๋ จ ์ต์
(โ์ฌ์ฉ ์ฃผ์ ์๋ง)
- -soft: index ๋ณด์กด(staged ์ํ), ์์ ๋๋ ํ ๋ฆฌ ํ์ผ ๋ณด์กด = ๋ชจ๋ ๋ณด์กด
- -mixed: index ์ทจ์(unstaged ์ํ), ์์ ๋๋ ํ ๋ฆฌ ํ์ผ ๋ณด์กด = ๊ธฐ๋ณธ์ต์
- -hard: index ์ทจ์(unstaged ์ํ), ์์ ๋๋ ํ ๋ฆฌ ํ์ผ ์ญ์ = ๋ชจ๋ ์ทจ์
โป๏ธ Git commit๋ช ๋ณ๊ฒฝ
1
2
// commit ๋ฉํธ๋ฅผ ์๋ชป ์ ์ ๊ฒฝ์ฐ์ ์ฌ์ฉํ ์ ์์
$ git commit --amend
โป๏ธ Git push ์ทจ์
โ local ์์
๋ด์ฉ์ remote์ ๊ฐ์ ๋ก ๋ฎ์ด์ฐ๊ธฐ ํ๋ ์์
์ด๋ฏ๋ก ์ฃผ์ ํ์
โ ๋๋์๊ฐ commit ์ดํ์ ๋ชจ๋ commit ์ ๋ณด๊ฐ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ์ฃผ์ ํ์
1) ์์ ๋๋ ํ ๋ฆฌ์์ commit์ ๋๋๋ฆฐ๋ค
๋ฐฉ๋ฒ 1
1
2
// ์์
๋๋ ํ ๋ฆฌ์์ ๊ฐ์ฅ ์ต๊ทผ์ commit ์ทจ์ ํ ์์
๋๋ ํ ๋ฆฌ ๋๋๋ฆผ
$ git reset HEAD^
๋ฐฉ๋ฒ 2
1
2
3
4
// Reflog(๋ธ๋์น์ HEAD๊ฐ ์ง๋ ๋ช ๋ฌ ๋์์ ๊ฐ๋ฆฌ์ผฐ๋ ์ปค๋ฐ) ๋ชฉ๋ก ํ์ธ
$ git reflog ๋๋ $ git log -g
// ์ํ๋ ์์ ์ผ๋ก ์์
๋๋ ํ ๋ฆฌ๋ฅป ๋๋๋ฆผ
$ git reset HEAD@{number} ๋๋ $ git reset [commit id]
2) ๋๋๋ ค์ง ์ํ์์ ๋ค์ commit ์งํ
1
$ git commit -m "commit message"
3) ์๊ฒฉ ์ ์ฅ์์ ๊ฐ์ push
1
$ git push origin +master // -f ๋๋ + ์ต์
์ผ๋ก ๊ฐ์ ํธ์ฌ