인공지능과 함께 쓰는 GIT
diff 를 인공지능에게 주고 커밋 메시지를 받고, 충돌도 함께 풉니다. 다만 읽지 않은 파괴적 명령은 절대 실행하지 않습니다.
학습 목표
- diff 를 주고 쓸 만한 커밋 메시지를 받아 낼 수 있다
- 충돌 해결을 인공지능과 함께 하되 최종 판단은 스스로 한다
- 파괴적 명령을 실행 전에 검증하고, reflog 로 복구할 수 있음을 안다
커밋 메시지를 쓰기 귀찮다면 git diff --staged 결과를 통째로 인공지능에게 주고 메시지를 요청하세요. 코드를 읽고 무엇이 바뀌었는지 요약하는 일은 인공지능이 정말 잘합니다. 단, 나온 메시지를 그대로 쓰지 말고 "왜" 부분은 직접 채우세요. 인공지능은 무엇이 바뀌었는지는 알아도, 왜 그렇게 바꾸기로 했는지는 모릅니다.
충돌 해결에도 인공지능이 도움이 됩니다. 충돌 난 구간을 통째로 붙여넣고 양쪽 브랜치가 각각 무엇을 하려던 것인지 설명하면, 합치는 방법과 주의점을 짚어 줍니다. 그래도 최종 판단은 사람의 몫입니다. 인공지능은 여러분 제품의 규칙을 모릅니다. 합친 뒤에는 반드시 테스트를 돌려 확인하세요.
마지막으로 안전 규칙입니다. 인공지능이 알려준 GIT 명령을 그대로 붙여넣기 전에 무엇을 하는 명령인지 읽으세요. git reset --hard, git push --force, git clean -fd 는 되돌릴 수 없는 결과를 냅니다. 그리고 실수로 이미 실행했더라도 당황하지 마세요. git reflog 에 HEAD 가 지나온 자리가 기록되어 있어, 거기서 잃어버린 커밋의 해시를 찾아 복구할 수 있는 경우가 많습니다.
이 단계에서 익히는 명령어
눈으로 읽지 말고 터미널에 직접 쳐 보세요. 손이 기억해야 실무에서 나옵니다.
git diff --staged- 커밋 메시지를 요청할 때 인공지능에게 줄 재료입니다.
git log --oneline -20- 최근 이력을 짧게 봅니다. 변경에 대해 물을 때 함께 주면 좋은 맥락입니다.
git config --global alias.lg "log --oneline --graph --all"- 매일 쓰는 그래프 로그를 `git lg` 한 단어로 줄여 등록합니다.
git reflog- HEAD 가 지나온 모든 자리입니다. reset 을 잘못했을 때 여기서 살아납니다.