Posts ๐Ÿ˜ธ [Git] add, commit, push ์ทจ์†Œํ•˜๊ธฐ
Post
Cancel

๐Ÿ˜ธ [Git] add, commit, push ์ทจ์†Œํ•˜๊ธฐ

๋‚ด์šฉ์ถœ์ฒ˜

โ—ป๏ธ 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 ๋˜๋Š” + ์˜ต์…˜์œผ๋กœ ๊ฐ•์ œํ‘ธ์‰ฌ
This post is licensed under CC BY 4.0 by the author.

๐Ÿ‹๏ธโ€โ™‚๏ธ [Workout Log] 2021-05-06

โ˜•๏ธ [Java] ์œ ํŠœ๋ธŒ ์ฃผ๊ฐ„์ปด๊ณต ํ•™์Šต์ž๋ฃŒ