Git 핵심 개념과 실전 명령어 가이드

저장소 주소 및 인증 정보 변경

Eclipse 환경에서 원격 저장소 주소나 계정 정보를 변경하려면 해당 IDE의 Git 설정 메뉴를 활용합니다.

Windows 환경에서 git clone 시 비밀번호를 잘못 입력한 경우, Windows 자격 증명 관리자에 오류 정보가 캐시되어 재시도가 실패할 수 있습니다. 해결 경로: 제어판 → 사용자 계정 → 자격 증명 관리자에서 해당 Git 저장소 항목을 수정 또는 삭제합니다.

HEAD와 원격 저장소 이해

HEAD는 현재 작업 중인 커밋을 가리키는 참조입니다. .git/HEAD 파일에 저장되며, 일반적으로 활성 브랜치를 지정합니다.

# 원격 저장소의 기본 브랜치 HEAD 설정
git remote set-head origin target_branch

저장소 이름 변경 후에는 반드시 URL을 갱신해야 합니다:

git remote set-url origin https://new-repository-url.git

origin과 master의 의미

  • origin: git clone 시 자동 생성되는 원격 저장소의 기본 별칭
  • master/main: 초기 브랜치의 관례적 이름 (필수 아님, 프로젝트별 변경 가능)

브랜치 전략 장사항

직접 master 또는 main에서 작업하지 마세요. 초기화 후 develop 같은 개발 브랜치를 분기하여 작업하고, 검증 완료 후 메인 브랜치로 병합하는 방식을 권장합니다.

핵심 명령어 모음

저장소 복제

# 기본 브랜치(master/main) 복제
git clone <repository-url> <target-directory>

# 특정 브랜치 지정 복제
git clone -b <branch-name> <repository-url> <target-directory>

브랜치 관리

# 새 브랜치 생성
git branch <new-branch-name>

# 브랜치 전환
git checkout <branch-name>

# 브랜치 생성과 동시에 전환
git checkout -b <new-branch-name>

# 로컬 브랜치 목록 (* 표시가 현재 위치)
git branch

# 원격 포함 전체 브랜치 목록
git branch -a

작업 내역 동기화

# 원격 변경사항 가져오기 (병합 없이 다운로드만)
git fetch --all

# 현재 브랜치 최신화
git pull

변경사항 제출

# 스테이징 영역 추가
git add .                    # 전체 파일
git add <specific-file>      # 특정 파일

# 로컬 저장소에 커밋
git commit -m "작업 내용 설명"

# 원격 저장소로 업로드
git push -u origin <branch-name>

원격 브랜치 연동 패턴

# 원격에 동명 브랜치가 이미 존재하고 연결된 경우
git push

# 원격 브랜치와 연결 설정하며 푸시
git push -u origin <remote-branch>

# 원격에 새 브랜치 생성하며 푸시
git push origin <local-branch>:<remote-branch>

파일 및 디렉터리 삭제

# 개별 파일 제거
git rm <file-name>
git commit -m "Remove file"
git push -u origin <branch-name>

# 디렉터리 제거
git rm -r <folder-name>
git commit -m "Remove directory"
git push -u origin <branch-name>

# 공백 포함 폴더명 처리
git rm -r folder" "name

브랜치 병합

# dev_sb 브랜치를 dev에 병합하는 예시
git checkout dev
git pull
git merge dev_sb
git push -u origin dev

브랜치 삭제

# 로컬 브랜치 제거
git branch -d <branch-name>

# 원격 브랜치 제거
git push origin --delete <branch-name>
# 또는
git push origin -d <branch-name>

작업 상태 확인

# 변경된 파일 목록 확인
git status

작업 취소 및 되돌리기

# 작업 디렉터리의 모든 수정사항 폐기
git checkout .

# 미커밋 변경사항 임시 저장 (나중에 복원 가능)
git stash
git stash pop  # 저장한 내용 복원

# 특정 커밋으로 강제 되돌리기 (변경사항 미보존)
git reset --hard <commit-hash>

# 특정 커밋으로 되돌리기 (변경사항 보존)
git reset --soft <commit-hash>

# 추적되지 않은 파일/폴더 정리
git clean -n     # 삭제 예정 목록 확인
git clean -f     # 파일 삭제
git clean -df    # 파일과 디렉터리 모두 삭제

새 저장소 초기화

echo "# 프로젝트 소개" >> README.md
git init
git add README.md
git commit -m "Initial commit"
git branch -M main
git remote add origin https://your-repo-url.git
git push -u origin main

완전한 새 브랜치 생성

기존 브랜치에서 분기하지 않고 독립적인 새 브랜치를 만드는 방법:

git clone -b base-branch <url> new-branch-folder
cd new-branch-folder
git branch new-branch-name
git checkout new-branch-name

# 기존 파일 전부 제거 후 새 자료 준비
git rm -rf .
# 새 파일 복사
git add .
git commit -m "Initialize new branch"
git push -u origin new-branch-name

태그: Git Git Branch Git Merge Git Push Git Clone

5월 26일 09:16에 게시됨