3

깃(git) - 특정 커밋의 수정 내용 확인하기

과거의 특정 커밋 수정 내용 확인 깃으로 프로젝트를 관리하다 보면 예전 커밋의 변경 사항을 봐야할 때가 있기 마련입니다.간단한 명령어로 변경 사항을 확인할 수 있습니다.먼저 log 를 통해 원하는 커밋의 commit-id 를 알아냅니다. git log --oneline commit-id 를 복사했다면 다음 명령어들로 변경 사항을 알아낼 수 있습니다. git show COMMIT git diff COMMIT^! git diff COMMIT~ COMMIT git diff-tree -p COMMIT git show --color --pretty=format:%b $COMMIT 만약 현재 HEAD 가 가리키는 커밋의 변경 사항이 궁금하다면 commit-id 대신 HEAD 라고 적으면 됩니다. git show H..

Programming/Git 2019.01.10

깃(git) - 프로젝트 진행 중 저장소로부터 최신 소스 받아오기

git으로 관리중인 프로젝트에서 소스 코드를 막 변경하며 개발하다가, 저장소의 자신이 속한 branch의 소스가 다른 사람으로 인해 업데이트 되면 받아야 할 때가 생깁니다. 그냥 git pull 하면 충돌의 여지가 아주 많기 때문에 진행이 잘 되지 않습니다. 간단한 수정 또는 테스트용으로 살짝만 바꿨는데도 git pull이 잘 안 된다면, 아래와 같은 방법이 있습니다. 1. 기존 변경 사항을 무시 git reset --hard HEAD git pull reset --hard HEAD 는 가장 최근 커밋으로 소스 코드를 돌려버립니다. 이제 원격 저장소의 가장 최근 커밋과 같은 소스가 됐으니, 충돌이 일어날 리가 없죠. 이 상태에서 git pull을 하는 원리입니다. 아니면, git fetch --all g..

Programming/Git 2017.05.23

깃(git) - .gitignore 업데이트 후 적용하기

.gitignore 은 git으로 프로젝트를 관리할 때 관리하길 원하지 않는 파일명 규칙을 모아둡니다. 말이 어려운데, 만약 저 파일 안에 *.c 가 있으면 모든 C 소스 파일은 add, commite 되지 않아요. 버전 관리에 포함시키지 않습니다. 근데 처음 git 프로젝트를 생성할 때 같이 .gitignore을 생성했다면 몰라도, 프로젝트 진행 중 .gitignore을 업데이트 한다면 후에 적용해야 할 문제가 생깁니다. 그 문제를 손봐줍시다. 먼저 .gitignore을 입맛에 맞게 업데이트 해줍니다. 그리고, 새로운 .gitignore 규칙을 기존 파일들에도 적용하기 위해 아래의 명령어를 순서대로 쳐줍니다. 지우고, add하고, 다시 commit해주는 과정입니다. git rm -r --cached ...

Programming/Git 2017.05.23