[LG CNS 6기] 0일차 TIL Git & GitHub 정리

윤현일·2026년 7월 16일

LGCNS

목록 보기
2/43

자주 사용하는 Git & GitHub 명령어 정리

TIL 맨 처음을 어떤 주제로 할까 고민하다가, 사전 학습 패키지에 Git, GitHub 관련 내용이 있길래 자주 쓰는 명령어를 상황별로 정리해봤다.

1. 저장소 시작하기

새로운 Git 저장소 생성

git init

현재 폴더를 Git 저장소로 초기화한다.
내가 알기로 하위 디렉토리도 전부 깃 트래킹이 적용되는데, init이 되었는지 확인하는 방법은 숨은 파일까지 출력하는 명령어를 사용한다.

ls -a

그러면 아래와 같이 git 관련 파일들을 확인 가능하다.

원격 저장소 복제

git clone <저장소 URL>

예시:

git clone https://github.com/username/repository.git

원격 저장소 연결

진짜 매번 헷갈리는 명령어.. 물론 깃 포크나 다른 툴을 사용하면 딸깍이긴하다.

git remote add origin <저장소 URL>

연결된 원격 저장소 확인:

git remote -v

원격 저장소 주소 변경:

git remote set-url origin <새로운 저장소 URL>

2. 변경 사항 확인하기

현재 Git 상태 확인

git status

변경된 파일, 스테이징된 파일, 추적되지 않는 파일을 확인한다.

변경된 내용 확인

git diff

스테이징되지 않은 변경 사항을 확인한다.

git diff --staged

스테이징된 변경 사항을 확인한다.

커밋 기록 확인

git log

간단하게 확인하려면 다음 명령어를 사용한다.

git log --oneline

브랜치 흐름까지 함께 확인:

git log --oneline --graph --all

3. 변경 사항 커밋하기

특정 파일 스테이징

git add <파일명>

모든 변경 사항 스테이징

git add .

커밋 생성

git commit -m "커밋 메시지"

예시:

git commit -m "feat: 로그인 화면 구현"

직전 커밋 메시지 수정

예전에 컨벤션 안지켜서 했던 기억이 있다..

git commit --amend -m "수정할 커밋 메시지"

이미 원격 저장소에 올린 커밋을 수정할 때는 주의해야 한다!


4. 원격 저장소와 동기화하기

원격 저장소에 변경 사항 올리기

git push origin <브랜치명>

예시:

git push origin main

새로운 브랜치를 처음 올릴 때:

git push -u origin <브랜치명>

이건 몰랐는데, -u 로 설정을 했어야 했다.

-u 옵션을 사용하면 이후부터는 다음 명령어만 입력해도 된다.

git push

원격 저장소의 변경 사항 가져오기

git pull origin <브랜치명>

예시:

git pull origin main

원격 저장소 정보만 가져오기

git fetch origin

pull은 변경 사항을 가져와 현재 브랜치에 합치지만, fetch는 원격 저장소의 정보만 가져온다.


5. 브랜치 관리하기

브랜치 목록 확인

git branch

원격 브랜치까지 함께 확인:

git branch -a

새로운 브랜치 생성

git branch <브랜치명>

브랜치 이동

git switch <브랜치명>

브랜치 생성과 동시에 이동

git switch -c <브랜치명>

예시:

git switch -c feature/login

이전 방식의 명령어는 다음과 같다.

git checkout -b <브랜치명>

로컬 브랜치 삭제

git branch -d <브랜치명>

병합되지 않은 브랜치를 강제로 삭제:

git branch -D <브랜치명>

원격 브랜치 삭제

git push origin --delete <브랜치명>

6. 브랜치 병합하기

먼저 변경 사항을 반영할 브랜치로 이동한다.

git switch main

그다음 대상 브랜치를 병합한다.

git merge <브랜치명>

예시:

git merge feature/login

병합 과정에서 충돌이 발생하면 충돌 파일을 수정한 뒤 다시 커밋한다.

git add .
git commit -m "fix: merge conflict 해결"

7. 변경 사항 되돌리기

이건 예전에 깃 & 깃허브를 사용해 프로젝트를 처음 해봤을 때 충돌이 나서 고생한 기억이 있어 혹시 몰라 같이 작성해본다.

특정 파일의 수정 내용 되돌리기

git restore <파일명>

아직 커밋하지 않은 변경 사항이 사라지므로 주의한다.

스테이징 취소

git restore --staged <파일명>

파일의 수정 내용은 유지하면서 스테이징만 취소한다.

특정 커밋을 취소하는 새로운 커밋 생성

git revert <커밋 해시>

공유 브랜치에서는 기존 기록을 제거하는 reset보다 revert를 사용하는 것이 안전하다.

직전 커밋 취소하고 변경 사항 유지

git reset --soft HEAD~1

직전 커밋과 스테이징 취소

git reset HEAD~1

직전 커밋과 변경 사항 모두 삭제

git reset --hard HEAD~1

--hard를 사용하면 작업 내용이 삭제될 수 있으므로 신중하게 사용해야 한다.


8. 임시로 변경 사항 보관하기

잘 안 사용하지만, AGENT 코딩할 때 로그로 자주 봤던 명령어들이다.

현재 작업을 커밋하지 않고 잠시 보관할 때 사용한다.

git stash

보관된 목록 확인:

git stash list

가장 최근 작업 복원:

git stash pop

보관된 작업을 유지하면서 복원:

git stash apply

9. GitHub CLI 활용하기

이게 진짜 개꿀인데, GitHub CLI가 설치되어 있다면 터미널에서 Pull Request를 관리할 수 있다.

GitHub 로그인

gh auth login

Pull Request 생성

gh pr create

제목과 내용을 함께 지정할 수도 있다.

gh pr create --title "로그인 기능 구현" --body "로그인 화면과 API 연동을 구현했습니다."

Pull Request 목록 확인

gh pr list

Pull Request 상세 확인

gh pr view <PR 번호>

Pull Request 체크아웃

gh pr checkout <PR 번호>

Pull Request 병합

gh pr merge <PR 번호>

10. 자주 사용하는 작업 흐름

기능 개발 시작

git switch main
git pull origin main
git switch -c feature/login

작업 내용 커밋

git status
git add .
git commit -m "feat: 로그인 기능 구현"

원격 저장소에 브랜치 올리기

git push -u origin feature/login

Pull Request 생성

gh pr create

병합 후 로컬 브랜치 정리

git switch main
git pull origin main
git branch -d feature/login

11. 자주 사용하는 컨벤션(커밋 메시지) 규칙

태그는 큰 의미가 없다고 생각했으나, 버전 관리를 위해 정말 중요하다고 생각하기도 한다.

타입의미
feat새로운 기능 추가
fix버그 수정
docs문서 수정
style코드 동작과 무관한 형식 수정
refactor코드 리팩터링
test테스트 코드 추가 및 수정
chore설정, 패키지 등 기타 작업
designUI 및 디자인 변경
rename파일 또는 폴더 이름 변경
remove파일 또는 코드 삭제

예시:

feat: 소셜 로그인 기능 추가
fix: 로그인 실패 시 앱이 종료되는 문제 해결
refactor: 인증 관련 로직을 훅으로 분리
docs: 프로젝트 실행 방법 추가
chore: 사용하지 않는 패키지 제거

마무리

물론 다 외울건 아니고, 필요한거만 알고 있고 나머지는 찾아보면서 작업하는게 국룰. 요즘에는 AI가 버전 관리까지 잘해주지만 알긴 알아야한다고 생각한다.
참고로 사람들 대부분 깃관리 툴 + Warp를 사용하는데, 나는 여전히 기본 터미널이 편하다.
다음으로 깃 버전 관리를 하면서 내가 막힌 부분, 의문이 생겼던 부분에 대해 기술하겠다.

profile
개발자

0개의 댓글