본문 바로가기
게임/게임 인문학

프로젝트 위기에서 구할 git 명령어

by Jinger 2024. 11. 24.

서론

   Git을 사용하다 보면 잘못된 커밋이나 충돌 등으로 인해 당황스러운 상황이 발생할 수 있다. 이런 상황을 안전하게 복구하기 위해 자주 사용되는 Git 명령어와 사용법을 정리해보았다.


1. git reset : 특정 커밋으로 되돌리기

`git reset`은 잘못된 커밋을 되돌리거나 스테이징된 변경 사항을 취소할 때 유용하다.

  • `git reset --soft <커밋 해시>`: 커밋만 되돌리고 변경 사항은 유지한다.
  • `git reset --mixed <커밋 해시>`: 커밋과 스테이징을 되돌리고, 변경 사항은 작업 디렉토리에 남긴다.
  • `git reset --hard <커밋 해시>`: 커밋, 스테이징, 작업 디렉토리의 변경 사항을 모두 되돌린다. (주의! 복구가 어렵다.)

2. `git revert` : 안전하게 커밋 취소하기

  • `git revert`는 취소하려는 커밋의 변경 사항을 반대로 적용해 새로운 커밋으로 기록을 남긴다.
  • `git revert <커밋 해시>`: 특정 커밋을 취소한다.
  • `git revert --no-commit <커밋 해시>`: 변경 사항을 스테이징 영역에만 적용한다.

3. `git checkout` : 특정 파일이나 커밋 복구하기

`git checkout`은 브랜치 전환이나 파일의 변경 사항을 취소할 때 사용된다.

  • `git checkout <브랜치명>`: 해당 브랜치로 이동한다.
  • `git checkout <커밋 해시>`: 특정 커밋 상태를 확인한다.
  • `git checkout -- <파일명>`: 파일의 변경 사항을 취소한다.

4. `git stash` : 작업 중인 변경 사항 임시 저장

`git stash`는 변경 사항을 임시로 저장하고 작업 디렉토리를 초기 상태처럼 만든다.

  • `git stash`: 변경 사항 저장.
  • `git stash pop`: 저장된 변경 사항 다시 적용.
  • `git stash list`: 저장된 스택 목록 확인.

5. `git reflog` : 이전 명령 이력 확인하기

`git reflog`는 이전 상태로 돌아갈 수 있는 중요한 정보를 제공한다.

  • `git reflog`: 최근 실행한 Git 명령 이력을 확인한다.
  • `git reset --hard <reflog 해시>`: 기록된 특정 지점으로 복구한다.

6. `git clean` : 추적되지 않는 파일 삭제

`git clean`은 Git이 관리하지 않는 파일을 제거할 때 사용된다.

  • `git clean -n`: 삭제할 파일을 미리 확인한다.
  • `git clean -f`: 추적되지 않는 파일을 삭제한다.
  • `git clean -fd`: 디렉토리까지 삭제한다.

7. `git cherry-pick` : 특정 커밋 가져오기

`git cherry-pick`은 특정 커밋을 선택적으로 다른 브랜치에 적용할 때 유용하다.

  • `git cherry-pick <커밋 해시>`: 원하는 커밋을 현재 브랜치에 적용한다.

8. `git merge --abort` : 병합 충돌 취소하기

병합 중 충돌이 발생했다면 `git merge --abort`를 사용해 병합 작업을 취소할 수 있다.

  • `git merge --abort`: 병합 도중의 변경 사항을 되돌린다.

9. `git pull --rebase` : 깔끔하게 병합하기

`git pull --rebase`는 원격 브랜치와 동기화할 때 커밋 기록을 정리하며 병합 충돌을 최소화한다.

  • `git pull --rebase`: 재배치를 통해 변경 사항을 통합한다.

10. `git log` : 커밋 기록 추적하기

`git log`는 문제가 발생한 커밋을 추적할 때 유용하다.

  • `git log`: 커밋 기록 확인.
  • `git log --oneline`: 간략한 형식으로 커밋 기록 확인.

주섬주섬

    Git 명령어는 강력하지만 실수로 인해 데이터가 손실될 위험도 존재한다. 작업 전에 반드시 중요한 데이터를 백업하고 명령어의 동작을 충분히 이해한 후 실행하는 것이 좋다. 문제 해결 과정에서 위 명령어를 적절히 활용하면 예상치 못한 상황에서도 안정적으로 프로젝트를 관리할 수 있다.

커밋 해시(소스트리)

    • '커밋 해시'는 각 커밋을 고유하게 식별할 수 있는 값으로, git log 명령어를 사용하면 확인할 수 있다.
    • 'reflog 해시'는 git reflog를 통해 확인할 수 있는 명령 기록의 고유 식별자이다. 이를 통해 이전 작업 상태로 돌아갈 수 있다.

참고

 

Git 간단 사용 방법

서론     Git 저장소를 사용하기 위해 기본적으로 알아야 할 내용이다. Git을 다운 받았다면, 바탕화면에 새 폴더를 만들고 우클릭을 통해 "Git Bash"(Git Bash Here)을 열면 아래 명령어를 칠 수 있는 cm

jinger.tistory.com

반응형

'게임 > 게임 인문학' 카테고리의 다른 글

게임계 복고풍  (0) 2024.11.23
게임 재미 기획의 오류  (1) 2024.11.21
게임적 허용  (0) 2024.11.20
게임의 타격감은 어떻게 표현하는 가  (0) 2024.11.19
게임에서 시작하는 클리셰 탐구  (3) 2024.11.18

댓글