Study: DeveloperTools(DevTool)/DevTool: Git

[Git] Github ์„ค์น˜, ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐ ๊ฐ„๋‹จ ์‚ฌ์šฉ๋ฒ•

DrawingProcess 2022. 2. 23. 11:03
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” 'Git์„ ์œ„ํ•œ ํ™˜๊ฒฝ๊ตฌ์ถ•'์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋†“์€ ๊ธ€์ž…๋‹ˆ๋‹ค.
์•ž์„œ [Git] ์™œ Git์„ ์‚ฌ์šฉํ• ๊นŒ?๋ฅผ ๋ณด๊ณ  ์™”๋‹ค๋ฉด ์™œ Git์„ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€ ์ดํ•ดํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  [Git] Git-Workflow, git ํ๋ฆ„์„ ์‚ดํŽด๋ณด์ž! Git-Flow๊นŒ์ง€ ๋ดค๋‹ค๋ฉด? Git์˜ ์—ญํ• ๊นŒ์ง€ ๋Œ€์ถฉ ํŒŒ์•…ํ–ˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Git์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด๋ณผ๊นŒ์š”?

 

Git ์„ค์น˜ ๋ฐ ๊ธฐ๋ณธ ์„ค์ •

Git ์„ค์น˜

 Git ๊ธฐ๋ณธ ์„ค์ • (GUI)

  • github ํšŒ์›๊ฐ€์ž… ํ›„ ๋กœ๊ทธ์ธ
  • new repository (github ๋‚ด์˜ ๋‚˜๋งŒ์˜ ๊ณต๊ฐ„์ƒ์„ฑ)
  • repository ์„ค์ •(name, discription, public or private...)
  • create repository

 

git์—์„œ add, commit, pushํ•˜๊ธฐ! (feat. pull)

git์€ ๊ฒฐ๊ตญ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํŒŒ์ผ์„ ์„ ํƒํ•˜๊ณ , ์„ค๋ช…์„ ์ž‘์„ฑํ•œ ๋’ค์— repo์— ๊ณต์œ ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘์—…์„ ํ•œ๋‹ค๋ฉด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋‚ด ์ฝ”๋“œ์™€ ํ•ฉ์นœ๋’ค์— ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๊ฐ add, commit, push, pull ์ด๋ผ๊ณ  ํ•œ๋‹ค.

1. add(์„ ํƒ)ํ•˜๊ธฐ!

  • $ git add <ํŒŒ์ผ๋ช…> : ํŠน์ • ํŒŒ์ผ๋งŒ ์„ ํƒ ๊ฐ€๋Šฅํ•จ
  • $ git add . : ๋ณ€๊ฒฝ๋œ ๋ชจ๋“  ํŒŒ์ผ ์„ ํƒํ•˜๊ธฐ

2. commit(์ž‘์—…๋‚ด์šฉ ์ž‘์„ฑ)ํ•˜๊ธฐ!

  • vim ์—๋””ํ„ฐ๋กœ ๋„˜์–ด๊ฐ€์„œ commit ๋ฉ”์„ธ์ง€ ์ž‘์„ฑํ•˜๊ธฐ
    $ git commit
  • git bash์—์„œ ์ง์ ‘ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ์ž‘์„ฑ๊ฐ€๋Šฅ : ๋’ค์ชฝ์˜"๊ฐ€ ๋๋‚˜๊ธฐ ์ „์— ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์œผ๋กœ ๊ตฌ๋ถ„๋จ
I added README.md with git for the first time.
I think git and github is cool."

commit ๋ฉ”์„ธ์ง€ ์ž‘์„ฑ tip

  1. ์ปค๋ฐ‹์€ ์ž‘์—…๋‹จ์œ„๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ๋‚ด์šฉ์ด ์žˆ์–ด์•ผ ํ•จ. (์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๋‹จ์œ„๋กœ ๊ตฌ๋ถ„๋˜์–ด์•ผ ํ•œ๋‹ค.)
  2. ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋Š” ๊ฐ€๋Šฅํ•˜๋ฉด ์˜๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. (git repository๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ์žˆ๋‹ค๋ฉด ์™ธ๊ตญ์ธ๋“ค๋„ ๋ชจ๋‘ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์˜๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๋ฌผ๋ก , ํŒ€ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ํŒ€์›๊ฐ„์˜ ํ˜‘์˜์— ๋”ฐ๋ผ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•ด๋„ ๋ฌธ์ œ๋˜์ง€ ์•Š๋Š”๋‹ค.)

commit ๋ฉ”์„ธ์ง€ prefix

  • feat: feature (๊ธฐ๋Šฅ ๊ฐœ๋ฐœ, ์ถ”๊ฐ€)
  • docs : documentions (๋ฌธ์„œ)
  • refact : refactoring (์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง)
  • conf : configuration (ํ™˜๊ฒฝ์„ค์ •)
  • bug-fix : bug-fix (๊ธฐ์กด๊ธฐ๋Šฅ์— ๋ฒ„๊ทธ)
  • solve : merge conflict solved
  • release : releases
  • style : ์ฝ”๋“œ ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ
  • test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ, ๋ฆฌํŒฉํ† ๋ง ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€
  • chore : ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •

3. push(repository์— ์˜ฌ๋ฆฌ๊ธฐ) ํ•˜๊ธฐ!

  • git ์„ origin์— master๋กœ push ํ•˜๊ธฐ!!
    $ git push origin master

4. git์—์„œ pull(๋‹น๊ฒจ์˜ค๊ธฐ) ํ•˜๊ธฐ!

  • ๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ํด๋”์—์„œ ์ง„ํ–‰ํ•ด์•ผ ํ•จ.
    $ git pull origin master

 

git ๋ช…๋ น์–ด ์ •๋ฆฌ

$ git status : ํ˜„์žฌ ์ž‘์—…์˜ ์ƒํƒœ ํ™•์ธ
$ git remote add origin ์ฃผ์†Œ : ๊นƒ์ฃผ์†Œ๋ฅผ ๋“ฑ๋ก
$ git remote
$ git remote get-url origin
$ git log : ์ž‘์—…ํ•œ git commit ๋‚ด์šฉ ํ™•์ธ
$ git pull origin ๋ธŒ๋žœ์น˜๋ช… --allow-unrelated-histories : ๋จธ์ง€๊ฐ€ ๋‹ค ๋˜์—ˆ๋Š”๋ฐ, ์ž๊พธ ๋ญ”๊ฐ€ ๋” ๋จธ์ง€ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ• ๋•Œ ๋จธ์ง€๋ฅผ ๋ฌด์‹œ (๊ฐ•์ œ๋กœ ๋จธ์ง€๋ฅผ ์‹œํ‚ค๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถ„๋ช…ํžˆ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๊ณ  ํŒ๋‹จ๋ ๋•Œ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.)
$ git reset filename.txt : git add์˜ ๋ฐ˜๋Œ€ ๊ฐœ๋…์œผ๋กœ ์Šคํ…Œ์ด์ง•๋œ ํŒŒ์ผ์„ ์Šคํ…Œ์ด์ง•์ด ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฐ๋‹ค.
$ git branch [-r/-a] : -r ์˜ต์…˜์€ ๋ฆฌ๋ชจํŠธ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜จ ๋ธŒ๋žœ์น˜๋ฅผ -a ์˜ต์…˜์€ ๋กœ์ปฌ๊ณผ ๋ฆฌ๋ชจํŠธ ๋ธŒ๋žœ์น˜ ๋ชจ๋‘๋ฅผ ๋ณด์—ฌ์คŒ
$ git branch ๋ธŒ๋žœ์น˜๋„ค์ž„ : '๋ธŒ๋žœ์น˜๋„ค์ž„'์œผ๋กœ ์ƒˆ ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค๊ณ  ํ˜„์žฌ์˜ ์ปค๋ฐ‹์„ ์‹œ์ž‘์ ์œผ๋กœ ํ•จ
$ git checkout ๋ธŒ๋žœ์น˜๋„ค์ž„ : ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ
$ git reset HEAD^ : PUSH ํ•˜๊ธฐ ์ „ commit ์ทจ์†Œ

์ด์ œ Git ์„ค์น˜์™€ ์™ ๋งŒํ•œ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•์€ ์•Œ์•˜์œผ๋‹ˆ ์„ธ๋ถ€์ ์ธ ์‚ฌํ•ญ์ด ๊ถ๊ธˆํ•˜๋ฉด ์ตœ๋Œ€ํ•œ ์ฐพ์•„๋ณด๋„๋ก ํ•˜์ž!

 

์ฐธ๊ณ 

๋ฐ˜์‘ํ˜•