AI 도구와 함께 쓰기

이 글의 목차

소요: 15분 · 버전: v0.1 (2026-09-30) · 12장

이 장의 질문AI 도구에 일을 맡길 때 Git은 누가 다루는가
다루는 것AI 도구와 사람의 역할 나누기, 커밋 전 세 가지 확인, 올리면 안 되는 파일 막기(.gitignore), AI에게 부탁할 때 쓸 문장
다루지 않는 것특정 AI 도구의 설치·설정 방법, 프로그래밍
이 장을 마치면AI 도구가 고친 파일을 확인한 뒤 내 손으로 커밋할 수 있고, 올리면 안 되는 파일을 Git이 무시하게 할 수 있습니다

1. AI가 고치고, 사람이 확인하고 기록합니다

AI 도구가 파일을 다루는 방식은 크게 두 가지입니다.

방식예파일이 바뀌는 방법
대화형ChatGPT, Claude 같은 채팅AI가 보여 준 내용을 내가 복사해 파일에 붙여 넣고 저장
코딩 에이전트Codex, Claude Code 같은 도구AI가 폴더 안의 파일을 직접 만들고 고침

어느 쪽이든 결과는 같습니다. 파일이 바뀌면 GitHub Desktop의 Changes 에 나타납니다. Git 입장에서는 사람이 고친 것과 AI가 고친 것이 똑같이 보입니다.

AI 도구는 파일 만들기와 고치기, 실행, 설명을 하고, 사람은 커밋 전 세 가지 확인, 커밋 메모 쓰기, 커밋과 푸시와 PR과 병합을 한다는 그림

그래서 역할을 이렇게 나눕니다.

  • AI 도구: 파일을 만들고 고치고, 바뀐 내용을 설명합니다.
  • 사람: 바뀐 내용을 확인하고, 커밋·푸시·PR·병합을 합니다.

코딩 에이전트는 커밋이나 푸시까지 스스로 할 수 있습니다. 익숙해지기 전에는 커밋은 사람이 GitHub Desktop에서 합니다. 커밋 버튼을 누르기 직전이 변경을 확인할 가장 좋은 때이기 때문입니다.

2. 커밋 전 세 가지 확인

Changes 목록으로 예상하지 못한 파일이 바뀌지 않았는지, 직접 열어 보기로 요청한 대로 동작하는지, diff 훑어보기로 민감한 자료가 섞이지 않았는지 확인하는 세 칸 그림
확인할 것방법걸리면
①예상하지 못한 파일이 바뀌지 않았나Changes 목록의 파일 이름을 봅니다AI에게 그 파일을 왜 바꿨는지 묻습니다
②요청한 대로 동작하나파일을 열거나 실행해 봅니다. 코드를 한 줄씩 이해할 필요는 없습니다커밋하지 않고 다시 요청합니다
③민감한 자료가 섞이지 않았나diff를 훑어봅니다그 부분을 지우거나 7장의 Discard Changes로 버립니다

③에서 찾을 것:

  • 비밀번호, API 키(프로그램이 서비스에 접속할 때 쓰는 비밀 문자열), 접속 토큰
  • 이름·연락처 같은 개인정보
  • 외부에 나가면 안 되는 문서의 내용

한 번 커밋·푸시한 내용은 7장의 Revert로 되돌려도 기록에는 남습니다. 민감한 자료는 커밋하기 전에 막는 것이 유일하게 확실한 방법입니다. 이미 올렸다면 혼자 해결하려 하지 말고 즉시 경험자에게 알립니다.

3. 실습: 올리면 안 되는 파일 막기 (.gitignore)

.gitignore 는 Git이 무시할 파일 목록을 적는 파일입니다. 여기에 적힌 파일은 폴더에 있어도 Changes에 나타나지 않고, 커밋·푸시되지 않습니다.

폴더에 비밀.txt가 있어도 .gitignore에 적혀 있으면 Changes 목록에 나타나지 않는다는 그림. .gitignore에는 비밀.txt, *.env, data/가 한 줄에 하나씩 적혀 있다

Current Branch 가 work 인지 확인하고 시작합니다.

  1. VS Code에서 새 파일을 만들고 이름을 .gitignore 로 입력합니다. 이름이 점(.)으로 시작합니다.

  2. 아래 내용을 넣고 저장합니다.

    비밀.txt
    *.env
    data/
    
  3. 새 파일 비밀.txt 를 만들고 연습용 비밀 메모 라고 쓴 뒤 저장합니다.

  4. GitHub Desktop의 Changes를 봅니다. .gitignore 만 있고 비밀.txt 는 없습니다.

  5. 메모 .gitignore 추가 로 커밋하고 Push origin 을 누릅니다.

적는 법뜻
비밀.txt이 이름의 파일
*.env이름이 .env 로 끝나는 모든 파일. * 는 "아무 이름"이라는 뜻
data/data 폴더와 그 안의 모든 것

.gitignore는 이미 커밋한 파일은 막지 못합니다. 새 파일을 만들기 전에 적어 두어야 합니다. 저장소를 만들 때 먼저 만들어 두는 습관을 들입니다.

4. AI에게 부탁할 때 쓸 문장

아래 문장을 복사해 요청 끝에 붙이면, AI가 Git을 대신 다루지 않고 사람이 확인하기 쉬운 형태로 결과를 줍니다.

커밋이나 푸시는 하지 마세요. 작업이 끝나면 바꾼 파일 목록과, 파일마다 무엇을 왜 바꿨는지 한 줄씩 알려 주세요.
아래 diff를 비개발자가 이해할 수 있게 설명해 주세요. 요청하지 않은 변경이나 비밀번호·개인정보가 있으면 따로 표시해 주세요.
이 변경에 맞는 커밋 메모를 "무엇을 왜" 한 줄로 세 가지 제안해 주세요.

5. AI가 이런 것을 권하면 멈추세요

AI 도구가 문제를 해결하려고 Git 명령을 권하거나 직접 실행하려 할 때가 있습니다. 아래 단어가 보이면 실행하지 않고 멈춥니다. 기록을 지우거나 덮어써서 되돌리기 어려운 명령입니다.

보이는 단어하는 일
--force, -f (push와 함께)GitHub의 기록을 내 기록으로 덮어씀
reset --hard커밋하지 않은 변경과 커밋을 지움
rebase기록을 다시 씀
clean -fdGit이 모르는 파일을 폴더에서 지움
branch -D, push --delete브랜치를 지움

이 튜토리얼에서 배운 버튼(Commit, Push, Pull, Revert, Discard, Abort merge)으로 해결되지 않는 문제는 경험자에게 요청합니다.

확인

확인 문제

① AI 도구가 파일 5개를 고쳤다고 했는데 Changes에는 7개가 있습니다. 어떻게 하나요? 커밋하지 않고, 나머지 2개를 왜 바꿨는지 AI에게 묻습니다. 필요 없는 변경이면 Discard Changes로 버립니다.
② 이미 커밋한 설정 파일을 .gitignore에 적었습니다. 이제 GitHub에서 사라지나요? 사라지지 않습니다. .gitignore는 앞으로 새로 생기는 변경만 막습니다. 이미 올라간 민감한 파일은 경험자에게 알립니다.
③ AI가 문제를 고치려면 git push --force를 실행하라고 합니다. 따라야 하나요? 따르지 않습니다. GitHub의 기록을 덮어쓰는 명령입니다. 멈추고 경험자에게 요청합니다.

자주 발생하는 문제

증상확인할 것
.gitignore 에 적었는데 파일이 Changes에 계속 보입니다파일 이름이 정확한지(띄어쓰기, 확장자), .gitignore 를 저장했는지 봅니다. 이미 커밋한 적이 있는 파일이면 막히지 않습니다
.gitignore 파일이 폴더에서 보이지 않습니다점으로 시작하는 파일은 숨김 파일로 취급될 수 있습니다. VS Code 파일 목록에서는 보입니다
AI 도구가 이미 커밋해 버렸습니다History에서 커밋 내용을 확인합니다. 잘못됐으면 7장의 Revert로 되돌립니다. 푸시 전이라면 Revert 후 함께 푸시합니다

다음 장

13장. 한 장 요약

© KYONGHO ENGINEERING & ARCHITECTS