고급 사용법
주의: 이곳은 작업 내용이 사라질 수 있는 명령들이 있으니 사용에 신중을 기하기 바랍니다.
로컬 저장소
다음 명령들은 로컬 저장소를 변경합니다.
현재 브랜치 지점 변경
작업 내용을 모두 버리고 특정 지점으로 돌리고 싶을 때 사용합니다.
git reset --hard [변경할 커밋 지점]
브랜치 강제 삭제
원격 저장소에 적용되지 않은 변경 사항을 무시하고 삭제하려면 -D
옵션을
사용합니다. 수정내용이 모두 사라지니 주의하세요.
git branch -D [브랜치명]
원격 저장소
다음 명령들은 원격 저장소를 변경합니다.
브랜치 삭제
git push --delete [원격저장소] [원격브랜치명]
또는
git push [원격저장소] :[원격브랜치명]
변경사항 강제 적용
충돌 발생시 로컬 내용을 강제로 반영 하려면 -f
옵션을 사용합니다.
원격 저장소의 다른 커밋들이 사라지니 주의하세요.
git push -f [원격저장소] [로컬브랜치명]
히스토리 단장하기
히스토리 변경 (커밋 변경)
변경할 범위에는 --root
를 넣으면 모든 히스토리를 대상으로 합니다.
git rebase -i [대상 범위]
커밋 날짜를 작성일로 변경
대상 범위를 생략하면 모든 커밋에 적용합니다.
git filter-branch --env-filter 'GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE; export GIT_COMMITTER_DATE' [대상 범위]
아직 사용하지 않은 명령어
다음은 개념은 알고있으나 아직 사용해보지 않은 명령입니다.
변경사항 임시 보관
옵션은 아직 모릅니다.
git stash
git-scm 의 6.4 Git 도구 - 히스토리 단장하기