목차

    불편함을 코드로 지웁니다.

    개발 공부 노트, 개발 도구와 문제를 해결한 과정, AI 프롬프트와 Obsidian 활용법을 정리합니다.

      💡 Tech Note

      Git 명령어

      this.Serena 2026. 4. 13. 14:06

      1. 기본 명령어

      기본 업로드 흐름

      git add .
      git commit -m "커밋 메시지"
      git push origin main

      상태 확인 및 파일 생성

      명령어 설명
      git status 현재 작업 디렉토리 상태 확인
      touch README.md 빈 README.md 파일 생성

      add 취소

      git reset              # 전체 add 취소
      git reset 파일명        # 특정 파일만 add 취소

      파일 단일 업로드

      git add src/App.java
      git commit -m "Update App.java"
      git push origin main

      2. 커밋 관리

      명령어 설명
      git commit --amend -m "수정 메시지" 가장 최근 커밋 메시지 수정
      git log --oneline 최근 커밋 목록을 한 줄씩 간결하게 확인
      git rebase -i HEAD~2 마지막 2개 커밋 합치기 (squash)

      커밋한 파일 제거

      대용량 파일이나 민감 정보가 포함된 파일을 커밋 이력에서 완전히 제거시 사용

      • git filter-branch: Git 내장 명령어 (느리지만 별도 설치 불필요)
      • BFG Repo-Cleaner: 외부 도구 (빠르고 간편)

      3. 브랜치 관리

      브랜치 확인

      명령어 설명
      git branch 로컬 브랜치 목록 확인
      git branch -r 원격 브랜치 목록 확인
      git branch -a 전체(로컬 + 원격) 브랜치 목록 확인

      브랜치 이동 및 생성

      git checkout feature-shy    # 해당 브랜치로 이동 (없으면 생성)

      4. 동기화 및 충돌 해결

      원격 저장소 강제 동기화

      로컬 변경사항을 버리고 원격 저장소 상태로 완전히 맞출 때 사용

      git fetch origin              # 원격의 최신 변경사항을 가져옴 (병합 없이 포인터만 업데이트)
      git reset --hard origin/main  # 로컬을 원격 main 상태로 강제 이동 (로컬 변경사항 영구 삭제)

      강제 Push

      git push -f origin main

      ⚠️ GIT FORCE PUSH 주의 : 팀원 작업 덮어쓰기 방지용 사전 공유 필수

      병합 충돌 해결

      git stash          # 현재 변경사항을 임시 저장
      git pull           # 원격 변경사항 가져오기
      git stash pop      # 임시 저장한 변경사항 다시 적용

      기존 변경사항 완벽 제거

      GIT CLEAN & RESET : 원격 저장소와 동일 상태 동기화 및 미추적 파일 제거

      git fetch origin
      git reset --hard origin/main
      git clean -fd                # -f(강제), -d(디렉토리 포함) 미추적 파일 및 폴더 삭제

      강제 Pull (가장 확실한 동기화)

      git fetch --all
      git reset --hard origin/main
      git pull origin main

      5. 캐시 및 성능 관리

      Git 캐시 클리어

      .gitignore 무시 규칙 재적용을 위한 인덱스 초기화

      • git rm -r --cached . : 전체 캐시 삭제 및 파일 추적 중단
      • git add . : 변경된 무시 규칙 반영 및 등록
      • git commit -m "fix gitignore" : 캐시 초기화 내역 반영 완료
      git rm -r --cached .
      git add .
      git commit -m "cache cleared"

      Git 저장소 느려질 때

      git gc --aggressive    # 저장소 최적화 (가비지 컬렉션)
      git prune              # 불필요한 객체 제거

      6. 빌드 및 배포 (GitHub Pages)

      npm install -D gh-pages        # gh-pages 패키지 설치
      npm run build                  # 프로젝트 빌드
      npx gh-pages -d dist -b gh-pages   # dist 폴더를 gh-pages 브랜치로 배포

      7. 초기 설정 가이드

      프로젝트 초기화 및 원격 저장소 연동

      • git init : 로컬 저장소 생성 및 초기화
      • git add . : 전체 파일 스테이징 영역 추가
      • git commit -m "message" : 작업 내역 기록 및 커밋 생성
      • git branch -M main : 기본 브랜치명을 main으로 변경
      • git remote add origin [URL] : GitHub 원격 저장소 주소 등록
      • git push -u origin main : 원격 저장소 데이터 업로드 및 스트림 설정
      echo "프로젝트 설명" >> README.md           # README 파일 생성
      git init                                    # 현재 폴더를 Git 저장소로 초기화
      git branch -M main                          # 기본 브랜치 이름을 main으로 변경
      git remote add origin [레포URL]              # 원격 저장소 연결
      git pull origin main --allow-unrelated-histories  # 원격 초기 파일 병합 (README 있으면 필수)
      git status
      git add .
      git commit -m "Initial commit"
      git push -u origin main                     # 첫 푸시 및 업스트림 설정 (브랜치 추적)

      8. 협업 가이드

      작업 및 Push 흐름

      git add .
      git commit -m "커밋 메시지 작성"
      git push origin feature-shy

      Pull Request

      작업 내역 병합 요청

      • GitHub 웹 저장소 접속
      • Compare & pull request 버튼 클릭
      • 변경 내역 확인 및 메시지 작성
      • Create pull request 선택을 통한 최종 요청 생성

      팀 커뮤니케이션 예시

      공용 파일 수정 시 충돌 방지를 위한 팀 사전 공지 필수

      [공지] ActionFactory 수정할게요. 5분간 Pull 금지
      [완료] ActionFactory 수정 끝! Pull 받으세요~

       

      '💡 Tech Note' 카테고리의 다른 글

      [Shortcut] 이클립스(Eclipse)  (0) 2026.04.13
      MySQL 명령어  (0) 2026.04.13
      [Shortcut] IntelliJ IDEA  (0) 2026.04.13
      [Shortcut] 노션(Notion)  (0) 2026.04.13