Skip to content

Latest commit

Β 

History

History
35 lines (24 loc) Β· 2.53 KB

reverting-a-commit.ko.md

File metadata and controls

35 lines (24 loc) Β· 2.53 KB

컀밋 되돌리기

컀밋을 되돌리렀면 이전 μ»€λ°‹μ—μ„œ μˆ˜ν–‰ 된 λͺ¨λ“  λ³€κ²½ 사항을 μ·¨μ†Œν•˜λŠ” μƒˆλ‘œμš΄ 컀밋을 λ§Œλ“œλŠ” κ²ƒμž…λ‹ˆλ‹€. 그것은 gitμ—μ„œ CTRL + Z λ₯Ό μ‹€ν–‰ν•˜λŠ” 것과 κ°™μŠ΅λ‹ˆλ‹€.

원격 μ €μž₯μ†Œμ— ν‘Έμ‹œν•˜λŠ” λͺ¨λ“  μ»€λ°‹μ—λŠ” SHA(Secure Hash Algorithm)라고 ν•˜λŠ” κ³ μœ ν•œ μ•ŒνŒŒλ²³ ν‚€κ°€ μžˆμœΌλ―€λ‘œ gitμ—μ„œ λ˜λŒλ¦¬κΈ°κ°€ μ‰¬μ›Œμ§‘λ‹ˆλ‹€. 즉, SHAλ₯Ό μ‚¬μš©ν•˜λŠ” ν•œ μ–Έμ œλ“ μ§€ 컀밋을 되돌릴 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ κ·Έλ ‡κ²Œ ν•˜λ©΄, λ‹Ήμ‹ μ˜ μ €μž₯μ†Œκ°€ 엉망이 λ˜μ§€ μ•Šλ„λ‘ μ‘°μ‹¬μŠ€λŸ½κ²Œ μˆœμ„œλŒ€λ‘œ λ°°μ—΄ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ‹€ν–‰ μ·¨μ†Œν•˜λ €λŠ” νŠΉμ • μ»€λ°‹μ˜ SHAλ₯Ό μ„ νƒν•˜λ €λ©΄ μ§€κΈˆκΉŒμ§€ μž‘μ„±ν•œ λͺ¨λ“  μ»€λ°‹μ˜ λ‘œκ·Έκ°€ 도움이 될 κ²ƒμž…λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€: git log --oneline git log λͺ…λ Ήλ§Œ μ‹€ν–‰ν•˜λ©΄ SHA(κΈ΄ ν˜•μ‹)을 얻을 수 μžˆμ§€λ§Œ --oneline ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•˜λ©΄ 보닀 가독성이 쒋은(ν•œμ€„) λ°©μ‹μœΌλ‘œ ν‘œμ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이 λͺ…령을 μ‹€ν–‰ν•  λ•Œ ν‘œμ‹œλ˜λŠ” 첫번째 7개의 λ¬ΈμžλŠ” μΆ•μ•½ 컀밋 ν•΄μ‹œλΌκ³  ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, 이 μ €μž₯μ†Œμ—μ„œ git log --oneline 을 μ‹€ν–‰ν•˜λ©΄ λ‹€μŒκ³Ό 같은 κ²°κ³Όλ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€: For example, here is what I get when I run git log --oneline on this repository:

389004d added spacing in title
c1b9fc1 Merge branch 'master' into tutorials
77eaafd added tutorial for reverting a commit

λ”°λΌμ„œ git log --oneline 을 μ‚¬μš©ν•˜λ©΄ SHA의 처음 7개의 λ¬Έμžμ™€ ν•¨κ»˜ μ €μž₯μ†Œμ—μ„œ μž‘μ„±ν•œ λͺ¨λ“  컀밋 λͺ©λ‘μ„ κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

이제 "added spacing in title"에 λŒ€ν•œ 컀밋을 μ·¨μ†Œν•˜κ³  μ‹Άλ‹€κ³  κ°€μ •ν•˜κ³ , λ‹€μŒ 단계λ₯Ό μˆ˜ν–‰ν•˜κ² μŠ΅λ‹ˆλ‹€.

  • μ»€λ°‹μ˜ SHAλ₯Ό λ³΅μ‚¬ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” 389004d μž…λ‹ˆλ‹€.
  • 그리고 λ‚˜μ„œ git revert 389004d λͺ…령을 μ‹±ν–‰ν•©λ‹ˆλ‹€.

μ΄λ ‡κ²Œ ν•˜λ©΄ ν…μŠ€νŠΈ νŽΈμ§‘κΈ°κ°€ 열리고 컀밋 λ©”μ‹œμ§€λ₯Ό νŽΈμ§‘ν•˜λΌλŠ” λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. 컀밋 λ©”μ‹œμ§€λ₯Ό Revert λΌλŠ” λ‹¨μ–΄λ‘œ μ‹œμž‘ν•˜λŠ” κΈ°λ³Έ git λ©”μ‹œμ§€λ‘œ λ‚¨κ²¨λ‘κ±°λ‚˜ μ›ν•˜λŠ”λŒ€λ‘œ λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

  • λ‹€μŒμœΌλ‘œ, ν…μŠ€νŠΈ νŽΈμ§‘κΈ°λ₯Ό μ €μž₯ν•˜κ³  λ‹«μŠ΅λ‹ˆλ‹€.
  • μ»€λ§¨λ“œ 라인으둜 λŒμ•„κ°‘λ‹ˆλ‹€.
  • git push origin <branch-name> 을 μ‹€ν–‰ν•˜μ—¬ 되돌린 변경사항을 Github에 ν‘Έμ‹œν•˜μ‹­μ‹œμ˜€.

그리고 λ°”λ‘œ 변경사항이 μ›μƒνƒœλ‘œ λŒμ•„κ°ˆ κ²ƒμž…λ‹ˆλ‹€. 이 κ²½μš°μ— μ €μž₯μ†Œκ°€ c1b9fc1 의 μƒνƒœλ‘œ λ˜λŒμ•„κ°‘λ‹ˆλ‹€.