본문 바로가기
Git & Github

1. Git이란 무엇인가? 기본 개념 정복

by 헬로제이콥 2024. 8. 20.

 

 

Git 설치 및 초기 설정

  • Git 설치:
    • 각 운영체제에 맞는 설치 파일을 다운로드하여 설치합니다. (예: Windows는 Git for Windows, macOS는 Homebrew를 통해 설치)
  • 사용자 정보 설정:
git config --global user.name "Your Name"  // Git에 사용자 이름 설정

git config user.name  //이름 확인하기

git config --global user.email "your.email@example.com" // Git에 이메일 주소 설정

git config user.email  //이메일 확인하기

git config --list   //설정파일 확인하기

 

첫 번째 로컬 저장소 만들기

  1. 새로운 폴더 생성: 컴퓨터에 새로운 폴더를 만들고, 이 폴더를 Git 저장소로 초기화합니다.
  2. 파일 생성: 생성된 폴더 안에 a.txt라는 이름의 텍스트 파일을 만들고, 간단한 메시지를 입력합니다.
  3. Git에 추가 및 커밋: a.txt 파일을 Git에 추가하고, 첫 번째 커밋을 합니다.

 

문제 해결 과정

1단계: 새 폴더 생성 및 Git 초기화

  • 터미널(또는 Git Bash)을 열고, 원하는 위치로 이동합니다.
  • 다음 명령어를 실행하여 새로운 폴더를 만들고 Git 저장소로 초기화합니다.
Bash
mkdir my_first_repo
cd my_first_repo
git init
  • my_first_repo는 원하는 폴더 이름으로 변경할 수 있습니다.

 

2단계: 파일 생성

  • 터미널에서 다음 명령어를 실행하여 a.txt 파일을 생성하고 내용을 입력합니다.
Bash
touch a.txt
  • 텍스트 에디터를 사용하여 a.txt 파일을 열고 원하는 내용을 작성합니다.

 

3단계: Git에 추가 및 커밋

  • 터미널에서 다음 명령어를 순서대로 실행합니다.
Bash
git add a.txt
git commit -m "첫 번째 커밋: a.txt 파일 생성"
git log
  • -m 옵션 뒤에 오는 문자열은 커밋 메시지입니다. 간단하게 설명하는 것이 좋습니다.

 

문제 확인

  • Git 상태 확인: git status 명령어를 실행하여 변경 사항이 없는지 확인합니다.
  • 커밋 기록 확인: git log 명령어를 실행하여 커밋 기록을 확인합니다.

 

예제: README.md 파일 생성 및 커밋
텍스트 편집기를 이용하여 README.md 파일을 생성하고 내용을 작성합니다.터미널을 열고 README.md 파일이 있는 디렉토리로 이동합니다.git init 명령어를 실행하여 로컬 저장소를 초기화합니다.git add README.md 명령어로 README.md 파일을 스테이징합니다.git commit -m "첫 번째 README 파일 생성" 명령어로 변경 내용을 커밋합니다.

 

자세한 설명:

  • git config: Git의 전역 설정을 변경하는 명령어입니다. --global 옵션을 사용하면 모든 저장소에 적용됩니다.
  • git init: 새로운 Git 저장소를 생성합니다.
  • git add: 스테이징 영역에 파일을 추가하여 커밋할 준비를 합니다.
  • git commit: 스테이징 영역의 변경 내용을 저장소에 기록합니다. -m 옵션 뒤에 커밋 메시지를 작성합니다.

 

주의:

  • 커밋 메시지는 명확하고 간결하게 작성하는 것이 좋습니다. 다른 사람들이 커밋 내용을 쉽게 이해할 수 있도록 도와줍니다.
  • 자주 커밋하는 습관을 들이면 작업 내용을 추적하고 관리하기 쉽습니다.

 

 

다음 단계:

2회차에서는 GitHub에 프로젝트를 공유하는 방법을 배우게 됩니다.

다음 회차에서 뵙겠습니다!

깃 저장소는 기본적으로 프로젝트 디렉토리 내의 .git 숨김 디렉토리에 생성됩니다

.git 디렉토리의 구성:
  - objects: 실제 파일 데이터가 저장되는 곳입니다.
  - refs: 각 커밋, 브랜치, 태그 등을 가리키는 참조 정보가 저장됩니다.
  - config: 깃 저장소의 설정 정보가 저장됩니다.
  - HEAD: 현재 작업 중인 브랜치를 가리킵니다.
  - index: 스테이지 영역에 대한 정보가 저장됩니다.