본문 바로가기
프로그래밍/Git

프로젝트 시작을 위한 환경 설정 및 핵심 명령어 가이드

by JLearn 2026. 5. 2.
반응형

운영체제(Windows, Mac, Linux) 간의 혼란을 방지하고 효율적인 버전 관리를 위해 꼭 필요한 설정과 기초 명령어를 정리했습니다.


1. 프로젝트 초기 환경 설정 (Configuration)

협업 시 발생할 수 있는 줄바꿈(Line Ending) 문제와 브랜치 명명 규칙을 사전에 정의합니다.

줄바꿈 및 브랜치 설정

  • git config --local core.autocrlf input
    • 커밋할 때 CRLF를 LF로 강제 변환합니다. (macOS/Linux 권장)
  • git config --local core.eol lf
    • 로컬 작업 공간의 줄바꿈 문자를 LF로 고정합니다.
  • git config --local init.defaultBranch main
    • 새 저장소의 기본 브랜치 이름을 main으로 설정합니다.
  • git config --local pull.rebase false
    • git pull 실행 시 기본 전략을 'Merge' 방식으로 고정합니다.
  • git config --local user.email "you@example.com"
    • 사용자 이메일을 설정합니다.
  • git config --local user.name "Your Name"
    • 사용자명을 설정합니다.
  • git branch -M main
    • 브랜치명을 main으로 변경합니다.

2. 상태 확인 및 스테이징 (Workflow)

파일의 변화를 감지하고 기록(Commit)하기 전까지의 과정입니다.

상태 요약 확인

  • git status --short --branch (또는 git status -sb)
    • 현재 브랜치 정보와 파일 상태를 간결하게 출력합니다.
    • ??: Git이 아직 추적하지 않는 새 파일 (Untracked)
    • A: 스테이징 영역에 추가된 파일 (Added)
    • M: 수정된 파일 (Modified)

변경 사항 통계 확인

  • git diff --cached --stat
    • add는 완료되었지만 아직 commit 전인 파일들의 통계를 확인합니다.
    • 어떤 파일에서 몇 줄이 추가되거나 삭제되었는지 요약해서 보여줍니다.

3. 커밋 및 이력 조회 (History)

  • git commit -m "커밋 메시지"
    • 스테이징 영역의 파일들을 로컬 저장소에 기록합니다.
  • git log --oneline -1
    • 가장 최근의 커밋 딱 하나를 한 줄로 요약해서 확인합니다.
    • 현재 HEAD의 위치와 최신 커밋 해시를 파악할 때 유용합니다.

4. 원격 저장소 연결 (Remote)

내 컴퓨터(Local)와 온라인 저장소(Remote)를 연결합니다.

SSH 주소 체계

  • 주소 형식: git@github.com:사용자ID/저장소명.git
  • SSH 특징: 비밀번호 대신 고유 키를 사용하여 보안이 뛰어나며 자동화에 유리합니다.

연결 명령어

  • git remote add origin [원격주소]
    • origin은 서버를 가리키는 별칭입니다. (로컬 소스를 뜻하는 것이 아닙니다.)
  • git remote -v
    • 현재 연결된 원격 저장소 주소를 확인합니다.

5. 부가 팁: curl 옵션 분석

개발 도구 설치 시 자주 사용하는 curl -fsS 옵션의 의미입니다.

  1. -f (fail): HTTP 오류 발생 시 메시지를 출력하지 않고 즉시 종료합니다.
  2. -s (silent): 진행 바(Progress bar)를 표시하지 않습니다.
  3. -S (show-error): 전체적으로는 조용히 하되, 연결 오류가 나면 에러를 출력합니다.

[전체 흐름 요약]

  1. git add . : 모든 변경 사항을 스테이징 영역으로 이동
  2. git diff --staged --stat : 최종 변경 수치 검토 (git diff --cached --stat)
  3. git commit -m "message" : 로컬 저장소에 기록
  4. git push -u origin main : 원격 저장소로 데이터 전송
반응형

댓글