[Git]Git๋ž€?


contents

  1. Git์ด๋ž€?
  2. Git bash ์‚ฌ์šฉํ•˜๊ธฐ
  3. Git bash๋กœ gitignore ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ




Git

  • LINUX ์ œ์ž‘์ž๊ฐ€ ๋งŒ๋“  ๊ฒƒ
  • .git ์ด๋ผ๋Š” ํด๋”๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ์ €์žฅ์†Œ๋กœ ๊ด€๋ฆฌํ•˜๊ฒ ๋‹ค๊ณ  ์ดˆ๊ธฐํ™”(git init)๋ฅผ ํ†ตํ•ด ์„ ์–ธํ•œ๋‹ค.



git bash๋ฅผ ํ†ตํ•ด Git ์‚ฌ์šฉํ•˜๊ธฐ

  • ์ธํ„ฐ๋„ท์— git์„ ๊ฒ€์ƒ‰ํ•œ ํ›„ download๋ฅผ ํ•œ๋‹ค.
  • ๋ฐ”ํƒ•ํ™”๋ฉด์— testํด๋”(/Desktop/gitTest)๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ  test.txt ๋งŒ๋“ ๋‹ค.
  • ํ•ด๋‹น ํด๋”์— ๋“ค์–ด๊ฐ€์„œ ์šฐํด๋ฆญ์„ ํ†ตํ•ด git bash๋ฅผ ์—ฐ๋‹ค.
  • git init์„ ํ†ตํ•ด ์ดˆ๊ธฐํ™”๋ฅผ ํ•œ๋‹ค.
  • ๊ธฐ๋ณธ ๋ช…๋ น์–ด
    git statusํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
    - dir ์•ˆ์˜ ๋ชจ๋“  ํŒŒ์ผ์ด ์ถ”์  ํ˜•ํƒœ๋ฅผ ์•Œ๋ ค์ค€๋‹ค.
    - stage ์ƒํƒœ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•
    git add [file_name]ํ•ด๋‹น ํŒŒ์ผ์„ stage ์œ„์— ์˜ฌ๋ ค๋‘์–ด git commit์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋กœ ๋งŒ๋“ฌ
    - git์ด ํ•ด๋‹น ํŒŒ์ผ์„ ์ถ”์ ํ•˜๋Š” ์ƒํƒœ๋กœ ๋งŒ๋“ฌ
    - git status๋ฅผ ํ†ตํ•ด ๋ฐ”๋€ ์ ์„ ํ™•์ธ ๊ฐ€๋Šฅ
    git commit์•„๋ฌด ์˜ต์…˜์ด ์—†์œผ๋ฉด vi๊ฐ€ ์—ด๋ฆฌ๋ฉฐ vi์— commit ๋ฉ”์‹œ์ง€๋ฅผ ์ ๊ณ  ์ €์žฅํ•˜๊ณ  ๋‚˜์˜ค๋ฉด commit์ด ์™„๋ฃŒ๋œ๋‹ค.
    - -m : vi๋ฅผ ์—ด์ง€ ์•Š๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ”๋กœ ์ถ”๊ฐ€ํ•ด์„œ commitํ•  ์ˆ˜ ์žˆ์Œ
    - -a : ์›๋ž˜ add ํ›„์— commit์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ํ•ด๋‹น ์˜ต์…˜์„ ํ†ตํ•ด add์™€ commit์„ ํ•œ๋ฒˆ์— ํ•จ
    git logํ˜„์žฌ branch์—์„œ commit ๊ธฐ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค.
    - HEAD : ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ ์œ„์น˜๋ฅผ ์•Œ๋ ค์ค€๋‹ค. commit์„ ํ•˜๋ฉด HEAD์˜ ์œ„์น˜๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    - --oneline : log์˜ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ถœ๋ ฅ
    - --branches : ๋ชจ๋“  ๋ธŒ๋žœ์น˜์˜ log ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ
    - --graph : log๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ์ถœ๋ ฅ
    git restore [file_name]file์˜ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ง์ „์— commitํ•œ ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฐ๋‹ค.
    - --staged : stage์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ํŒŒ์ผ์„ unstaging ์ƒํƒœ๋กœ ๋˜๋Œ๋ฆฐ๋‹ค.
    git checkout [์ด๋™ํ•  ์‹œ์ ]์ž์‹ ์ด ์›ํ•˜๋Š” ์ด์ „์˜ ์‹œ์ ์œผ๋กœ ์ด๋™ํ•˜์—ฌ commit ์ „์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    - ์ด๋™ํ•  ์‹œ์ ์— branch๋ช…์„ ์ ์œผ๋ฉด ํ•ด๋‹น branch์˜ ์ตœ์‹  ์ƒํƒœ๋กœ ๋Œ์•„์˜จ๋‹ค.
    git branch [branch_name]์ƒˆ๋กœ์šด branch๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ branch๋ช…์„ ์ ์ง€ ์•Š์œผ๋ฉด ์กด์žฌํ•˜๋Š” branch ๋ชฉ๋ก์„ ์ถœ๋ ฅ
    - m : ํ˜„์žฌ branch์—์„œ ์›ํ•˜๋Š” branch๋กœ ์ด๋™ํ•œ๋‹ค.
    git merge [branch_name]ํ˜„์žฌ branch์—์„œ ์ง€์ •ํ•œ branch์˜ ๋‚ด์šฉ์„ ๋ณ‘ํ•ฉํ•œ๋‹ค.(ํ˜„์žฌ branch์— ๋‚ด์šฉ์ด ์ถ”๊ฐ€๋˜๋Š” ๊ฒƒ)



git bash๋ฅผ ํ†ตํ•ด .gitignore ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ

  1. git bash์—์„œ vi .gitignore๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
  2. ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ์—์„œ commitํ•˜์ง€ ์•Š์€ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ ๋Š”๋‹ค.
  3. ์ €์žฅํ•œ ํ›„ ๋””๋ ‰ํ† ๋ฆฌ์— ํŒŒ์ผ์ด ์ƒ๊ฒผ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
  4. commit!





ยฉ 2022. by Yejin Ha

Powered by JihyunRyu