λ‘컬μμ 컀λ°μ μν΄ μ€ν μ΄μ§ μμμ μΆκ°ν μμ λ΄μ©μ λλ리기 μν΄μλ λ€μ λͺ λ Ήμ μ€νν©λλ€.
git reset
μ λͺ λ Ήμ΄λ μμ ν μ½λκ° λ°μλ μ€ν μ΄μ§ μμμ κ°μ₯ μ΅κ·Όμ λ°μν 컀λ°μνλ‘ λλ립λλ€. νμ§λ§ μ¬λ¬λΆμ μμ λλ ν 리μ μμ ν λ΄μ©λ€μ λ³κ²½λμ§ μμ΅λλ€. λ°λΌμ μ¬λ¬λΆμ΄ μμ ν μμ€λ₯Ό λ€μ 컀λ°ν μ μμ΅λλ€. λ§μΌ μ΄λ―Έ μ€ν μ΄μ§ μμμ λ°μλ μμ ν νμΌλ€ μ€μμ νλμ νμΌλ§ 컀λ°μμ μ κ±°νκΈ°λ₯Ό μν κ²½μ°, μλ λͺ λ Ήμ μ€νν©λλ€.
git reset <file>
μ΄ λͺ λ Ήμ΄λ μ€ν μ΄μ§ μμμμ ν΄λΉ νμΌλ§ μ κ±°ν©λλ€. κ·Έλ¬λ μμ λλ ν 리μλ λ³κ²½λ νμΌ μν κ·Έλλ‘ λ¨μ μμ΅λλ€.
λ€μμ git reset
μ¬μ©λ²μ κ΄ν μμ μ
λλ€.
# λ¨Όμ index.php μ tutorial.php νμΌμ μμ ν©λλ€.
# μ€ν
μ΄μ§ μμμ νμΌμ μΆκ°ν©λλ€.
$ git add .
# λ νμΌμ κ°κ° 컀λ°ν΄μΌνλ―λ‘
# tutorial.php νμΌμ μ€ν
μ΄μ§ μμμμ μ κ±°ν©λλ€.
$ git reset tutorial.php
# index.php νμΌμ λ¨Όμ 컀λ°ν©λλ€.
$ git commit -m "Changed index.php"
# λ€μμΌλ‘ tutorial.php νμΌμ 컀λ°ν©λλ€.
$ git add tutorial.php
$ git commit -m "Changed tutorial.php"
λ‘컬 μ μ₯μμ λ¬Έμ κ° μ겨 μ¬λ¬λΆμ μ½λλ₯Ό λ§μ§λ§ μ»€λ° μνλ‘ λͺ¨λ λλλ¦¬κ³ μΆλ€λ©΄ μλ λͺ λ Ήμ μ€νν μ μμ΅λλ€.
git reset --hard
μ΄ λͺ
λ Ήμ΄λ μ€ν
μ΄μ§ μμμ λ§μ§λ§ μ»€λ° μνλ‘ λλ리λ κ² λΏλ§ μλλΌ μ¬λ¬λΆμ λ‘컬μ λ³κ²½λ νμΌλ λλ릴 μ μμ΅λλ€.
--hard
λͺ¨λλ GitμΌλ‘ νμ¬κΈ μμ
λλ ν 리μ λν λ³κ²½λ€λ λλ릴 μ μλλ‘ ν©λλ€.
λ°λΌμ λ‘컬μμ κ°λ°ν λͺ¨λ κ°λ° λ΄μ©μ μ΄κΈ°νν΄λ λλμ§ λ°λμ νμΈ ν μ€ννμ
μΌ ν©λλ€.
λ€μμ git reset --hard
μ¬μ©μ κ΄ν μμ μ
λλ€.
# μλ±ν μ€νμ μμνκΈ°λ‘ κ²°μ νμ΅λλ€.
# λ¨Όμ 'crazy.php' νμΌμ λ§λ€κ³ μ½λλ₯Ό μΆκ°ν©λλ€.
# κ·Έλ¦¬κ³ crazy.php νμΌμ 컀λ°ν©λλ€.
$ git add crazy.php
$ git commit -m "Started a crazy dev"
# crazy.php νμΌμ λ€μ μμ νκ³ κΈ°ν μ¬λ¬ νμΌλ€μ μμ±νκ³ μμ ν©λλ€.
# κ·Έλ¦¬κ³ μμ ν λͺ¨λ νμΌμ μ€ν
μ΄μ§ μμμ μΆκ°νκ³ μ»€λ°ν©λλ€.
$ git add .
$ git commit -m "Continued dev"
# ν
μ€νΈνκ³ λ§μΉ©λλ€.
# μ€ννκΈ° μ μνλ‘ λλ리기 μν΄ λͺ¨λ μμ μ¬νμ μ κ±°ν©λλ€.
$ git reset --hard HEAD~2
git reset --hard HEAD~2
λͺ
λ Ήμ΄λ νμ¬ λΈλμΉμμ μ¬λ¬λΆμ΄ μμ ν μ΄μ μ 컀λ°λ€ μ€μ 2λ²μ§Έ μ»€λ° ν¬μΈνΈ μνλ‘ μ΄λν¨κ³Ό λμμ ν΄λΉ 컀λ°λ€μ λν λ³κ²½μ¬νλ€μ΄ μ΄μ μνλ‘ λ³΅κ΅¬λ©λλ€. κ·Έλ¦¬κ³ νλ‘μ νΈ νμ€ν 리μμ μ΄μ μ μΆκ°λ 2κ°μ μ€λ
μ·μ΄ μ κ±°λ©λλ€.
P.s. λ§μΌ μ¬λ¬λΆμ 곡μ μ μ₯μλ‘ μ΄λ―Έ pushλ₯Ό μλ£ν μνμμ git reset --hard
λͺ
λ Ήμ μ€νν κ²½μ°, ν΄λΉ μ μ₯μλ₯Ό μ¬μ©νλ λͺ¨λ μ¬λλ€μκ² λ¬Έμ λ₯Ό μΌμΌν¬ μ μμΌλ―λ‘ μ λ μ€νν΄μλ μλ©λλ€.