AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Git의 핵심 개념과 주요 명령어 요약

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

프로젝트 협업 및 버전 관리에 관심 있는 개발자

  • 난이도: 초보자부터 고급 사용자까지 적용 가능*

핵심 요약

  • Git은 분산 버전 관리 시스템으로, working directorystaging arealocal repositoryremote repository의 흐름을 기반으로 작동
  • 필수 명령어: git init, git clone, git commit -m "메시지", git branch, git merge
  • 브랜치 작업: git switch로 브랜치 전환, git merge로 병합, git pull --rebase로 히스토리 정리

섹션별 세부 요약

1. Git 아키텍처

  • 워킹 디렉토리: 파일 변경사항이 저장되는 공간
  • 스테이징 영역: 커밋 전 파일 상태를 임시 저장
  • 로컬 저장소: 커밋된 변경사항이 저장되는 공간
  • 리모트 저장소: GitHub, GitLab 등 외부 서버와 동기화

2. 설치 및 설정

  • OS별 설치:

- Linux: sudo apt install git-all

- macOS: Xcode 명령줄 도구 또는 git-scm.com 다운로드

- Windows: Git for Windows 설치 또는 Chocolatey 사용

  • 전역 설정:

```bash

git config --global user.name "이름"

git config --global user.email "이메일"

```

  • 유용한 설정:

- core.autocrlf 설정 (OS별로 차이 있음)

- .gitignore 파일 생성 (생성된 파일/민감 정보 제외)

3. 기본 명령어

  • git init: 프로젝트 폴더에서 Git 저장소 초기화
  • git clone [url]: 리모트 저장소 복제 (예: git clone https://github.com/example/repo.git)
  • git status: 변경된 파일, 스테이징 상태 확인
  • git add [파일]: 변경사항을 스테이징 영역으로 이동
  • git commit -m "메시지": 변경사항을 커밋 (예: git commit -m "로그인 기능 수정")
  • git log: 커밋 히스토리 확인 (필터 옵션 적용 가능)
  • git diff: 변경사항 비교 (예: git diff - 미스테이징 변경사항 확인)

4. 브랜치 관리

  • 브랜치 생성: git branch [이름]
  • 브랜치 전환: git switch [브랜치] 또는 git checkout [브랜치]
  • 병합: git merge [브랜치] (예: git merge feature/login)
  • Fast-Forward vs No-FF:

- git merge --no-ff로 병합 커밋 강제 생성

- git pull --rebase로 히스토리 선형화

5. 협업 워크플로우

  • Forking Workflow:

- 원본 저장소를 Fork → 로컬에 Clone → Pull Request 제출

- git remote add upstream <원본_URL>로 업스트림 저장소 연결

  • Gitflow:

- develop, feature/, release/, hotfix/* 브랜치 사용

- feature 브랜치는 develop에 병합 후, release 브랜치로 이동

결론

  • .gitignore 파일 사용, 커밋 메시지 명확화, git pull --rebase로 히스토리 정리
  • 협업 시 Pull Request 사용, 대규모 프로젝트는 Gitflow 모델 적용