git

[git] 1. CLI ν™˜κ²½μ—μ„œ txt 파일 버전관리 해보기 - checkout

hw.kr 2022. 11. 6. 19:08

🧐 버전 관리?

command + z  ν‚€λ₯Ό ν™œμš©ν•΄μ„œ ν•œκΈ€μ΄λ‚˜, λΈ”λ‘œκ·Έ 글을 μ“°λ‹€κ°€ 이전에 μž‘μ„±ν•œ λ‚΄μš©μœΌλ‘œ 되돌렀본 κ²½ν—˜λ“€μ΄ μžˆμ„ 것이닀.

이전에 μž‘μ„±ν•œ λ‚΄μš©μ΄ ν•˜λ‚˜μ˜ 버전 이라고 μƒκ°ν•˜λ©΄ νŽΈν•˜λ‹€.

 

버전 κ΄€λ¦¬λŠ” ν•˜λ‚˜μ˜ 버전에 μžˆλŠ” id λ₯Ό ν†΅ν•΄μ„œ μ—¬λŸ¬κ°€μ§€ 버전에 μ ‘κ·Όν•  수 μžˆλŠ” 것을 λ§ν•œλ‹€.

git 을 μ‚¬μš©ν•˜λ©΄ 버전 관리λ₯Ό 정말 μ‰½κ²Œ κ²½ν—˜ν•΄ λ³Ό 수 μžˆλ‹€.

 

 

git이 μ„€μΉ˜λ˜μ–΄ μžˆλ‹€λ©΄ ν„°λ―Έλ„μ—μ„œ git --version 을 ν†΅ν•΄μ„œ ν˜„μž¬ git 버전을 확인할 수 μžˆλ‹€.

 

1. git init 

 

 

터미널 λͺ…λ Ήμ–΄λ‘œ desktop > commit_test κ²½λ‘œμ— μžˆλŠ”

README.txt 에 "hi my name is woong!" λ‚΄μš©μ„ μž…λ ₯ν•΄μ€€λ‹€

 

 

git init λͺ…λ Ήμ–΄λ₯Ό ν†΅ν•΄μ„œ  README.txt κ°€ μžˆλŠ” 폴더에 [.git] 폴더λ₯Ό 생성해쀀닀.

이 폴더에 μš°λ¦¬κ°€ μ•žμœΌλ‘œ git 을 ν†΅ν•΄μ„œ μƒμ„±ν•œ μ—¬λŸ¬ λ²„μ „λ“€μ˜ 정보와 μ €μž₯μ†Œλ‘œ μ‚¬μš©ν•˜κ²Œ 될 원격저μž₯μ†Œμ˜ μ£Όμ†Œ 등이 λ“€μ–΄μžˆλ‹€

이 [.git] 폴더λ₯Ό λ‘œμ»¬μ €μž₯μ†ŒλΌκ³  λΆ€λ₯Έλ‹€.

 

2. git add, commit

 

 

git add λ₯Ό ν†΅ν•΄μ„œ μ–΄λ–€ νŒŒμΌμ„ 컀밋할 것인지 μ•Œλ €μ£Όκ³ 

git commit -m [commit message] λ₯Ό ν†΅ν•΄μ„œ 컀밋 ν•΄μ€€λ‹€

 

🧐 컀밋?

컀밋은 μ‰½κ²Œ λ²„μ „μ˜ 이름이라고 μƒκ°ν•˜λ©΄ 쉽닀.

컀밋 = 버전 이라고 봐도 λ¬΄λ°©ν•˜λ‹€

 

3. git log

 

README.txt νŒŒμΌμ— 

"my age is 24" λ₯Ό ν†΅ν•΄μ„œ λ‚˜μ˜ λ‚˜μ΄ 정보λ₯Ό μΆ”κ°€ 해쀬닀.

그리고 "μ΅œν˜„μ›… λ‚˜μ΄ 정보 μΆ”κ°€" λΌλŠ” λ©”μ„Έμ§€λ‘œ μƒˆλ‘­κ²Œ 컀밋을 해쀬닀.

git log λͺ…λ Ήμ–΄λ₯Ό ν†΅ν•΄μ„œ μ΄λ•ŒκΉŒμ§€ μ»€λ°‹ν•œ 파일의 정보λ₯Ό 확인해볼 수 μžˆλ‹€.

파일의 버전듀을 리슀트둜 ν•œλˆˆμ— λ³Ό 수 μžˆλŠ” 것이닀.

 

4. git checkout

 

이제 버전 이동을 ν•΄λ³΄μž

λ…Έλž€μƒ‰ commit 뒀에 μžˆλŠ” μ•ŒνŒŒλ²³κ³Ό 숫자의 쑰합이 commit id 이닀. 이 id 의 μ•ž 7자리λ₯Ό ν†΅ν•΄μ„œ λ‹€λ₯Έ 버전에 μ ‘κ·Όν•΄λ³Ό 수 μžˆλ‹€.

 

 

git checkout [commit 7자리 id] λ₯Ό ν†΅ν•΄μ„œ 제일 처음 νŒŒμΌμ„ λ§Œλ“€μ—ˆμ„λ•Œμ˜ λ²„μ „μœΌλ‘œ μ΄λ™ν–ˆλ‹€.

νŒŒμΌμ„ 확인해보면 제일 처음 νŒŒμΌμ„ λ§Œλ“€μ—ˆμ„λ•Œμ˜ λ‚΄μš©λ§Œ μžˆλŠ” 것을 확인해 λ³Ό 수 μžˆλ‹€.

이제 이 컀밋을 github 원격 μ €μž₯μ†Œμ— 올렀보자

 

πŸ“Œ 정리

  • git add : commit ν•  νŒŒμΌμ„ μ •ν•œλ‹€
  • git commit -m "[commit message]" : μ§€μ •ν•œ 컀밋 λ©”μ„Έμ§€λ‘œ 파일의 μƒˆλ‘œμš΄ 버전을 ν•˜λ‚˜ μƒμ„±ν•œλ‹€
  • git log : μ΄λ•ŒκΉŒμ§€ λ§Œλ“€μ–΄λ‘” 버전 리슀트λ₯Ό 확인할 수 μžˆλ‹€.
  • git checkout : id 7 자리λ₯Ό ν†΅ν•΄μ„œ 버전 이동을 ν•  수 μžˆλ‹€. μ΄λ•Œ git checkout - 을 ν•˜λ©΄ 제일 μ΅œμ‹  λ²„μ „μœΌλ‘œ μ΄λ™ν•œλ‹€