πŸ” Git & GitHub κΈ°λ³Έ κ°œλ… - (1)

sebinnnnnΒ·2023λ…„ 1μ›” 24일
0

GitHub

λͺ©λ‘ 보기
3/6
post-thumbnail

gitκ³Ό githubλŠ” ν˜‘μ—…μ„ μœ„ν•΄ ν˜Ήμ€ 개인 ν”„λ‘œμ νŠΈλ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ ν•„μˆ˜μ μœΌλ‘œ 닀뀄야 ν•˜λŠ” 툴이자 μ„œλΉ„μŠ€λ‹€.
μ’…μ’… gitκ³Ό githubλ₯Ό ν˜Όμš©ν•΄μ„œ μ‚¬μš©ν•˜λŠ”λ° 이 λ‘˜μ€ μ—„μ—°νžˆ λ‹€λ₯Έ κ°œλ…μ΄λ‹€.
git은 λΆ„μ‚° 버전 관리 툴이고 githubλŠ” λΆ„μ‚° 버전 관리 툴인 git을 관리해 μ£ΌλŠ” μ›Ή ν˜ΈμŠ€νŒ… μ„œλΉ„μŠ€λ‹€.

πŸ“ git & githubλ₯Ό μ‚¬μš©ν•˜λŠ” 이유?

β†’ μ €μž₯ μš©λŸ‰μ„ μœ„ν•΄, ν˜‘μ—…μ„ μœ„ν•΄, μ—¬λŸ¬ 관리듀을 μœ„ν•΄(파일의 μˆ˜μ •, 버전 관리 λ“±)

git을 μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œλŠ” 2가지 κ°œλ…, 둜컬 μ €μž₯μ†Œμ™€ 원격 μ €μž₯μ†Œλ₯Ό 이해해야 ν•œλ‹€.
둜컬 μ €μž₯μ†ŒλŠ” λ‚΄ 컴퓨터λ₯Ό λ§ν•˜λŠ” 것이고 원격 μ €μž₯μ†ŒλŠ” μ„œλ²„ 컴퓨터λ₯Ό μ˜λ―Έν•˜λŠ” κ²ƒμœΌλ‘œ μ—¬κΈ°μ„œ λ§ν•˜λŠ” 원격 μ €μž₯μ†Œλ₯Ό github둜 μ΄ν•΄ν•˜λ©΄ 될 것 κ°™λ‹€.
github와 같은 원격 μ €μž₯μ†Œκ°€ μ€‘μš”ν•œ μ΄μœ λŠ” λ‚΄ μ»΄ν“¨ν„°μ—μ„œλŠ” μš©λŸ‰μ˜ 문제둜 μ•„μ£Ό λ§Žμ€ νŒŒμΌμ„ λͺ¨λ‘ μ €μž₯ν•˜λŠ” 것은 λΆˆκ°€λŠ₯ν•˜λ©° λ‚΄ μ»΄ν“¨ν„°μ—μ„œ 파일이 μ†μƒλ˜λ©΄ 되돌릴 수 μžˆλŠ” 방법이 μ—†λ‹€.
κ·ΈλŸ¬λ‚˜, 원격 μ €μž₯μ†Œμ— νŒŒμΌμ„ μ €μž₯ν•΄ 두면 λ‚΄ μ»΄ν“¨ν„°μ—μ„œ 파일이 μ†μƒλ˜μ—ˆλ‹€κ³  ν•˜λ”λΌλ„ 원격 μ €μž₯μ†Œμ—μ„œμ˜ μ›λž˜ νŒŒμΌμ„ κ·ΈλŒ€λ‘œ κ°€μ Έμ˜¬ 수 μžˆλ‹€λŠ” μž₯점이 μžˆλ‹€. μ΄λŸ¬ν•œ 파일의 μœ μ§€ 보수 및 관리에 μƒλ‹Ήν•œ μž₯점이 있기 λ•Œλ¬Έμ— github와 같은 원격 μ €μž₯μ†Œλ₯Ό μ‚¬μš©ν•˜λŠ” 것이닀.

πŸ“ Git κΈ°λ³Έ

git init β†’ ν•΄λ‹Ή 폴더λ₯Ό κΈ°μ€€μœΌλ‘œ ν•˜λ‚˜μ˜ 둜컬 μ €μž₯μ†Œκ°€ 생성.
! ν•œ ν΄λ”μ—λŠ” ν•˜λ‚˜μ˜ 둜컬 μ €μž₯μ†Œλ§Œ μžˆμ–΄μ•Ό ν•œλ‹€. 그렇지 μ•Šμ„ κ²½μš°μ—λŠ” 좩돌이 λ°œμƒ !

touch β†’ 파일 생성 λͺ…λ Ήμ–΄

git add β†’ νŒŒμΌμ„ μŠ€ν…Œμ΄μ§€μ— 올리기 (아직 μ €μž₯μ†Œμ— μ˜¬λΌκ°„ 것은 μ•„λ‹ˆλ‹€! μ˜¬λΌκ°€κΈ°λ₯Ό μ€€λΉ„ν•˜λŠ” κ³Όμ •)
! . 은 λͺ¨λ“  νŒŒμΌμ„ μŠ€ν…Œμ΄μ§€λ‘œ μ˜¬λ¦°λ‹€λŠ” 것이고 . 말고도 νŠΉμ • 파일λͺ…을 μž…λ ₯ν•˜μ—¬ ν•˜λ‚˜μ˜ 파일만 μŠ€ν…Œμ΄μ§€λ‘œ 올릴 μˆ˜λ„ μžˆλ‹€ !

git commit β†’ ν•΄λ‹Ή 파일 ν˜Ήμ€ ν”„λ‘œμ νŠΈμ˜ 버전을 μž…λ ₯ν•˜μ—¬ μƒμ„±ν•˜λŠ” 것.
(ν•΄λ‹Ή 파일 & ν”„λ‘œμ νŠΈμ— λ‚˜λ§Œμ˜ 버전을 μƒμ„±ν•œλ‹€κ³  μ΄ν•΄ν•˜λ©΄ λœλ‹€.)

git push / = (git push origin master) β†’ μŠ€ν…Œμ΄μ§€μ—μ„œ λŒ€κΈ°ν•˜κ³  μžˆλŠ” νŒŒμΌλ“€μ„ 원격 μ €μž₯μ†Œμ— μ˜¬λ¦¬λŠ” 것.
(μ‹€μ§ˆμ μœΌλ‘œ 파일이 원격 μ €μž₯μ†Œμ— μ €μž₯λ˜λŠ” κ³Όμ •)

git status β†’ 파일의 μƒνƒœλ₯Ό 확인.
1) untracked : 관리 λŒ€μƒμ΄ μ•„λ‹ˆλ‹€. = 파일 생성 후에 ν•œλ²ˆλ„ git addλ₯Ό ν•˜μ§€ μ•Šμ€ μƒνƒœ.
2) tracked : 관리 λŒ€μƒμ΄λ‹€.
= git이 κ΄€λ¦¬ν•˜λŠ” νŒŒμΌμ„ 의미.
3) unmodified : 졜근의 컀밋과 λΉ„κ΅ν–ˆμ„ λ•Œ 바뀐 λ‚΄μš©μ΄ μ—†λ‹€λŠ” 것을 의미.
4) modified : 졜근 컀밋과 λΉ„κ΅ν–ˆμ„ λ•Œ 바뀐 λ‚΄μš©μ΄ μžˆλ‹€λŠ” 것을 의미.
5) staged : 파일이 μˆ˜μ •λ˜κ³  λ‚œ 후에 μŠ€ν…Œμ΄μ§€ 곡간에 μ˜¬λΌμ™€ μžˆλŠ” μƒνƒœ.
= git addλ₯Ό ν•œ ν›„μ˜ μƒνƒœ.

git diff β†’ 졜근 μ»€λ°‹ν•œ λ‚΄μš©κ³Ό ν˜„μž¬ ν΄λ”μ˜ λ³€κ²½ 사항을 확인.
= ν•΄λ‹Ή 파일 및 ν΄λ”μ—μ„œ λ³€κ²½λœ 사항이 무엇인지 확인할 수 μžˆλ‹€.

git log β†’ 졜근 μ»€λ°‹ν•œ 폴더 ν˜Ήμ€ 파일의 νžˆμŠ€ν† λ¦¬λ₯Ό 확인.


git clone β†’ 원격 μ €μž₯μ†Œμ˜ μ½”λ“œλ₯Ό λ‚΄ 컴퓨터(둜컬 μ €μž₯μ†Œ)둜 λ°›μ•„μ˜¬ λ•Œ.
= 처음으둜 λ‚΄ 컴퓨터에 ν•΄λ‹Ή ν΄λ”μ˜ νŒŒμΌλ“€μ„ λ°›μ•„μ˜¬ λ•Œ clone λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•œλ‹€.
git clone <repository의 code μ£Όμ†Œ 볡뢙> .

  • 끝에 . 을 λΆ™μ΄λŠ” μ΄μœ λŠ” ν˜„μž¬ 폴더에 클둠을 λ°›κΈ° μœ„ν•΄μ„œλ‹€.
    λ§Œμ•½ .을 μž…λ ₯ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄ μƒˆ 폴더λ₯Ό μƒμ„±ν•˜μ—¬ κ·Έ 폴더에 클둠을 받을 수 있게 λœλ‹€.

git pull β†’ 원격 μ €μž₯μ†Œμ— μ—…λ°μ΄νŠΈλœ 데이터λ₯Ό κ°€μ Έμ˜€κ³  병합할 λ•Œ μ‚¬μš©.
= clone을 ν•œ ν›„ μ—…λ°μ΄νŠΈλœ νŒŒμΌμ„ κ°€μ Έμ˜€κ³  싢을 λ•Œ.
git pull origin maste

profile
🏠 λΈ”λ‘œκ·Έ 이전 쀑 β†’ https://medium.com/@sebinndev

0개의 λŒ“κΈ€