Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

일반적으로… 소스코드를 저장하는 수단 정도로 생각하는데 정확히 말하면 분산 버전 컨트롤 시스템 정도 되겠다.

실사용 예

커밋 메시지 수정

git commit –amend

amend 단어 뜻을 찾아봤더니 “개정하다"라는 뜻을 가진다. 정말 그럴듯한 이름이구만, 하는 생각이 들었다.

–amend를 통해 메시지를 수정할 수 있다. 정확히는 메시지 뿐 아니라 커밋 자체를 수정하는 것이라, 파일을 추가하거나 하는 등의 동작도 가능하다. 그래서 커밋 ID가 바뀌므로, 이미 리모트에 올라간 커밋을 수정하는 경우에는 push -f를 통해 강제로 업데이트를 하여야 한다. 따라서 이미 리모트에 올라갔고 사람들이 이를 받아서 코드를 수정중인 경우, 리모트와 로컬의 커밋 아이디가 달라지는 대참사가 발생한다.

브랜치 이름 변경

git branch -m OLD_BRANCH NEW_BRANCH

브랜치 이름은 -m, --move옵션을 통해서 변경할 수 있다.