[Git] cmd command๋กœ git ์ด์šฉํ•˜๊ธฐ

2025. 2. 5. 12:47ยท๐Ÿ’ฌ CI · CD/Git : ๊นƒ
728x90
728x90
๋”๋ณด๊ธฐ

git bash ์“ฐ๋Š” ๊ฑฐ ์•„๋‹ˆ๋ฉด IDE์— ์žˆ๋Š” UI๋กœ ์ด์šฉํ–ˆ์—ˆ๋Š”๋ฐ, discard change๋˜๊ณ  ํ•œ ๋ฒˆ ๋‹ค ๋‚ ๋ ค๋จน์–ด์„œ ... cmd๋กœ ์“ฐ๋ ค๊ณ  ์ •๋ฆฌํ•จ

 

Git cmd

status : ํ˜„์žฌ ๋ธŒ๋žœ์น˜, ํŒŒ์ผ ์ˆ˜์ •์‚ฌํ•ญ, ์ปค๋ฐ‹ ๊ฑด์ˆ˜ ๋“ฑ ์ƒํƒœ ํ™•์ธ

$ git status

 

branch : ๋ธŒ๋žœ์น˜(repository ํ•˜์œ„ ์ €์žฅ์†Œ) ๊ด€๋ จ

# ํ˜„์žฌ branch ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
$ git branch -a

 

checkout : ๋ธŒ๋žœ์น˜ ์ด๋™

# ๋ธŒ๋žœ์น˜ ์ด๋™
$ git checkout [๋ธŒ๋žœ์น˜๋ช…]

# ์—†๋Š” ๋ธŒ๋žœ์น˜๋ช… ์ž…๋ ฅ ์‹œ ์ž๋™ ์ƒ์„ฑ
$ git checkout -b [๋ธŒ๋žœ์น˜๋ช…]
# JIRA ๋“ฑ์—์„œ ์ƒ์„ฑํ•œ ์›๊ฒฉ Branch์™€ ์—ฐ๋™ํ•˜๋ ค๋ฉด
$ git fetch origin
$ git checkout -b {์ƒ์„ฑํ•œ ๋ธŒ๋žœ์น˜๋ช…}

 

add : ๋ณ€๊ฒฝ ๋‚ด์šฉ staging ์˜์—ญ์œผ๋กœ ์ด๋™

# ๋ชจ๋“  ํŒŒ์ผ ์ด๋™ ์‹œ . ์ž…๋ ฅ
$ git add .

# ํŠน์ • ํŒŒ์ผ๋งŒ ์ด๋™ํ•˜๋ ค๋ฉด
$ git add [ํŒŒ์ผ๋ช…]
$ git add src/main/resources/index.js

 

reset : ์ž˜๋ชป addํ•œ ํŒŒ์ผ ๋‹ค์‹œ ๋‚ด๋ฆฌ๊ธฐ

  • HEAD : ๋ธŒ๋žœ์น˜๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ€์žฅ ์ตœ์‹  ์ƒํƒœ์˜ commit. 
$ git reset HEAD [ํŒŒ์ผ๋ช…]

 

commit : push ์ „ ํŒŒ์ผ ์—…๋กœ๋“œ

$ git commit -m '[๋ฉ”์‹œ์ง€]'
๋”๋ณด๊ธฐ

Commit ๋ฉ”์‹œ์ง€๋Š” ํŒ€๋ณ„ Git ์ปจ๋ฒค์…˜์— ์ •์˜๋œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ

 

์˜ˆ์‹œ : [<type>/<scope>] <subject>

  • type : commit keyword
    • feat : ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
    • enhance : ๊ธฐ๋Šฅ ๊ฐœ์„ 
    • fix : ๋ฒ„๊ทธ ์ˆ˜์ •
    • hotfix : ๊ธ‰ํ•œ ์ด์Šˆ์— ๋Œ€ํ•œ ์ˆ˜์ •
    • chore : ์ž์ž˜ํ•œ ์ˆ˜์ •์ด๋‚˜ ๋นŒ๋“œ ์—…๋ฐ์ดํŠธ
    • docs : ๋ฌธ์„œ ์ž‘์—…
    • refactor : ๋ฆฌํŒฉํ† ๋ง
    • config : ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ์„ค์ •
    • test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๊ฐœ๋ฐœ
  • scope : ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ํŠน์ • ์œ„์น˜ (ex. gitlab issue number)
  • subject : ๋ณ€๊ฒฝ ๋‚ด์šฉ ์ฃผ์ œ (= ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ)

 

ex. [feat/#1] ์‚ฌ์šฉ์ž ์š”์ฒญ ํ—ค๋”์˜ JWT ํ† ํฐ ๊ฒ€์ฆ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

 

push : commitํ•œ ๋‚ด์šฉ branch์— ํŒŒ์ผ ์—…๋กœ๋“œ

$ git push

 

merge : ๊ฐ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ๋ณ‘ํ•ฉ

  • ์•„๋ž˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์‚ฌ์šฉ ์‹œ feat-1 ๋ธŒ๋žœ์น˜์˜ ๋‚ด์šฉ์ด dev ๋ธŒ๋žœ์น˜๋กœ merge๋จ. → ์ผ๋ฐ˜์ ์œผ๋กœ merge ์ถฉ๋Œ ์šฐ๋ ค, ํ˜‘์—… ์‹œ ๋‚ด์šฉ ํ™•์ธ์„ ์œ„ํ•ด ๊ฐ ์ž‘์—… ๋ธŒ๋žœ์น˜๋กœ commit-push ํ›„ github/gitlab์—์„œ merge request(mr) ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ์‹ ์‚ฌ์šฉ
# ๋ณ‘ํ•ฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋กœ ์ด๋™
$ git checkout dev

# ์ž‘์—…ํ•œ ๋ธŒ๋žœ์น˜ ๋‚ด์šฉ์„ ๋ณ‘ํ•ฉ
$ git merge feat-1

 

pull : ์›๊ฒฉ ์ €์žฅ์†Œ(git branch) ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ๋ฐ›์•„์˜ด

$ git pull

# Already up to date : ์ด๋ฏธ ์ตœ์‹ ํ™” ๋œ ์ƒํƒœ

 

diff : ์ˆ˜์ •๋œ ํŒŒ์ผ ๋‚ด์šฉ ํ™•์ธ

$ git diff

 

 


 

log : commit history ํ™•์ธ

$ git log

commit 927228abd878da79c34161ae8543e2c59dec4cc0 (HEAD -> test, origin/design/4)
Author: ID <์ด๋ฉ”์ผ์ฃผ์†Œ>
Date:   Mon Feb 3 16:03:34 2025 +0900

    [feat/#4] ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ (ํ—ค๋”, ํ‘ธํ„ฐ, ์‚ฌ์ด๋“œ๋ฐ”)

commit be0b2a955d39151718e37b230edd76e1ef3ad69f
Author: ID <์ด๋ฉ”์ผ์ฃผ์†Œ>
Date:   Mon Feb 3 14:52:25 2025 +0900

    [fix/#4] ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์ด๋“œ๋ฐ” ์ถœ๋ ฅ ์‹œ ์‚ฌ์ด๋“œ๋ฐ” ์ž˜๋ฆผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ
# log history ์‹œ์ ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
$ git checkout 927228abd878da79c34161ae8543e2c59dec4cc0

 

cherry-pick : ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์— ์žˆ๋Š” ์ปค๋ฐ‹์„ ๊ฐ€์ ธ์˜ด

  • ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์— ์ž˜๋ชป ์ปค๋ฐ‹ํ•˜๊ฑฐ๋‚˜, ํ•„์š” ์—†๋Š” ์ปค๋ฐ‹์ด ์ƒ๊ธฐ๋Š” ๋“ฑ ์ปค๋ฐ‹๋œ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ
    1. ์•ˆ์ •์„ฑ์ด ๋ณด์žฅ๋˜์ง€ ์•Š์€ ์ปค๋ฐ‹์€ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์ปค๋ฐ‹์„ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ
    2. Hotfix ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•œ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์— ์žˆ๋Š”๋ฐ, ํ•ด๋‹น ๋ฒ„๊ทธ ์ˆ˜์ • ์ฝ”๋“œ ์ปค๋ฐ‹๋งŒ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ
# ์ปค๋ฐ‹ID๋Š” git log์˜ HASH๊ฐ’. ํ’€ID๋กœ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜, ์•ž 6์ž๋ฆฌ ์‚ฌ์šฉ
# cherry-pick์„ ์‹คํ–‰ํ•  ๋ธŒ๋žœ์น˜๋กœ ๋จผ์ € checkout ํ•ด์•ผ๋จ
$ git cherry-pick <์ปค๋ฐ‹ID> <์ปค๋ฐ‹ID> ...
# ์ถฉ๋Œ๋‚œ ๋ถ€๋ถ„์„ ํ•ด๊ฒฐํ•œ ํ›„, ์‹คํ–‰ํ•˜๋ฉด ์ฒด๋ฆฌํ”ผํ‚น์ด ๋งˆ๋ฌด๋ฆฌ
$ git cherry-pick --continue

# ์ถฉ๋Œ๋‚œ ์ปค๋ฐ‹์€ ์ œ์™ธํ•˜๊ณ  ์ฒด๋ฆฌํ”ผํ‚น
$ git cherry-pick --skip

# cherry-pick ์‹คํ–‰ํ•˜๊ธฐ ์ „์œผ๋กœ ๋Œ์•„๊ฐ
$ git cherry-pick --abort
728x90
320x100
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ’ฌ CI ยท CD > Git : ๊นƒ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Git] Sourcetree ์‚ฌ์šฉ๋ฒ• (์„ค์น˜, Clone)  (0) 2025.03.12
[Github] VSCode์—์„œ Github๋กœ Commit, Pushํ•˜๊ธฐ  (0) 2024.08.30
[GitLab] CentOS 7์— GitLab (ce) ์„ค์น˜ํ•˜๊ธฐ - ์˜คํ”„๋ผ์ธ(์ˆ˜๋™) ์„ค์น˜  (0) 2023.04.11
[GitLab] CentOS 7์— GitLab (ce) ์„ค์น˜ํ•˜๊ธฐ - curl/yum ์ด์šฉํ•œ ์˜จ๋ผ์ธ ์„ค์น˜  (0) 2023.04.10
[GitLab] Linux CentOS 8 ํ™˜๊ฒฝ GitLab ์„ค์น˜ ๋ฐ ๊ธฐ๋™  (0) 2023.02.10
'๐Ÿ’ฌ CI · CD/Git : ๊นƒ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Git] Sourcetree ์‚ฌ์šฉ๋ฒ• (์„ค์น˜, Clone)
  • [Github] VSCode์—์„œ Github๋กœ Commit, Pushํ•˜๊ธฐ
  • [GitLab] CentOS 7์— GitLab (ce) ์„ค์น˜ํ•˜๊ธฐ - ์˜คํ”„๋ผ์ธ(์ˆ˜๋™) ์„ค์น˜
  • [GitLab] CentOS 7์— GitLab (ce) ์„ค์น˜ํ•˜๊ธฐ - curl/yum ์ด์šฉํ•œ ์˜จ๋ผ์ธ ์„ค์น˜
mxnxeonx
mxnxeonx
"์•„, ์ด๊ฑฐ ๋ญ์˜€๋”๋ผ"๋ฅผ ํ•˜์ง€ ์•Š๊ธฐ์œ„ํ•œ ์ผ๊ธฐ์žฅ.
  • mxnxeonx
    MJ's Development Diary
    mxnxeonx
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (154)
      • ๐Ÿ’ป Language (43)
        • Java : ์ž๋ฐ” (18)
        • Python : ํŒŒ์ด์ฌ (9)
        • ROS : ๋กœ๋ด‡์‹œ์Šคํ…œ (9)
        • Android : ์•ˆ๋“œ๋กœ์ด๋“œ (4)
        • JavaScript : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ (2)
      • ๐ŸŒ Environment (19)
        • IDE : ํ†ตํ•ฉ๊ฐœ๋ฐœํ™˜๊ฒฝ (9)
        • Virtual : ๊ฐ€์ƒํ™˜๊ฒฝ (10)
      • โš™ Framework (12)
        • Vue-๋ทฐ (3)
        • Spring-์Šคํ”„๋ง (7)
      • ๐Ÿ’พ DataBase (18)
      • ๐ŸŒŒ OS (36)
        • Linux-๋ฆฌ๋ˆ…์Šค (36)
      • ๐Ÿ’ฌ CI · CD (7)
        • Git : ๊นƒ (7)
      • ๐Ÿ“ƒ ETC (3)
      • ๐Ÿค– AI (4)
  • ๋งํฌ

    • GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
mxnxeonx
[Git] cmd command๋กœ git ์ด์šฉํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”