유진정의 기록
[KHUDA GIT 스터디 2일차] 깃 설치 및 버전관리 본문
Git 스터디 자료
1장 깃 시작하기
1-1 지옥에서 온 문서 관리자, 깃
Git은 버전 관리 시스템으로, 개발자라면 꼭 익혀야 할 필수 도구 중 하나입니다.
1️⃣ 버전 관리 (Version Control)
버전 관리는 문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 등을 구체적으로 기록하는 것을 말합니다. Git은 이러한 버전 관리를 가능하게 하는 시스템입니다.
2️⃣ 백업 (Backup)
백업은 현재 컴퓨터에 있는 자료를 다른 컴퓨터에 복제하는 것을 의미합니다. 외장 하드 디스크, USB, 구글 드라이브 등 다양한 방법으로 백업할 수 있습니다. Git은 원격 저장소(Remote Repository)를 통해 백업을 제공하며, 가장 많이 사용되는 서비스는 GitHub입니다.
3️⃣ 협업 (Collaboration)
GitHub와 같은 온라인 서비스를 사용하면 여러 사람이 함께 작업할 수 있습니다. 이는 팀 프로젝트나 오픈 소스 프로젝트에서 매우 유용합니다.
Git 프로그램의 종류
Git을 더 편리하게 사용할 수 있도록 다양한 Git 클라이언트 프로그램이 존재합니다. 각 프로그램은 사용자의 필요에 따라 선택할 수 있습니다.
⏺️ GitHub Desktop
GitHub에서 제공하는 GUI 기반의 프로그램으로, 복잡한 Git 명령어를 그래픽 인터페이스로 쉽게 사용할 수 있습니다.
(지금 쓰고 있는데 걍 폴더 옮기기 수준임 좋아요)
⏺️ Command Line Interface (CLI)
터미널 창에 명령어를 직접 입력하여 Git을 사용하는 방식입니다. 리눅스 명령어와 Git 명령어에 익숙해야 하며, 윈도우에서는 Git Bash를 사용해야 합니다.
1-2 깃 설치하고 환경 설정 끝내기
1. Git 사용자 설정
Git을 사용하기 전에 가장 먼저 해야 할 일은 사용자 정보를 설정하는 것입니다. 이 정보는 커밋 기록에 남게 됩니다.
$ git config --global user.name “${user name}”
$ git config --global user.email "${user email}”
--global
옵션은 전역 설정을 의미하며, 한 번 설정하면 모든 프로젝트에서 동일한 정보를 사용합니다.
2. 현재 디렉토리 확인 (pwd
)
현재 작업 중인 디렉토리의 경로를 확인할 때 사용합니다.
$ pwd
3. 디렉토리 내용 확인 (ls
)
디렉토리 내부의 파일과 폴더를 확인할 때 사용합니다. 다양한 옵션을 조합하여 사용할 수 있습니다.
$ ls
$ ls -l # 상세 정보 표시
$ ls -a # 숨긴 파일 포함 표시
$ ls -al # 숨긴 파일과 상세 정보 함께 표시
-a
: 숨긴 파일 및 디렉토리 표시-l
: 파일 및 디렉토리의 상세 정보 표시-r
: 정렬 순서를 거꾸로 표시-t
: 작성 시간 기준 내림차순 표시
4. 화면 정리 (clear
)
터미널 화면을 깔끔하게 정리할 때 사용합니다.
$ clear
5. 디렉토리 이동 (cd
)
디렉토리를 이동할 때 사용합니다. 특수 기호를 사용하여 빠르게 이동할 수도 있습니다.
$ cd ~ # 홈 디렉토리로 이동
$ cd . # 현재 디렉토리 유지
$ cd .. # 상위 디렉토리로 이동
6. 디렉토리 생성 (mkdir
)
새로운 디렉토리를 생성할 때 사용합니다.
$ mkdir {directory_name}
7. 파일 또는 디렉토리 삭제 (rm
)
파일이나 디렉토리를 삭제할 때 사용합니다. 디렉토리를 삭제할 때는 -r
옵션을 추가합니다.
$ rm {file_name}
$ rm -r {directory_name} # 디렉토리 및 내용 전체 삭제
8. 터미널 종료 (exit
)
터미널을 종료할 때 사용합니다.
$ exit
2장 깃으로 버전 관리하기
2-1 깃 저장소 만들기
Git을 사용하기 위해서는 먼저 Git 저장소를 초기화해야 합니다.
$ cd c: # C 드라이브로 이동
$ mkdir hello-git # hello-git 디렉토리 생성
$ cd hello-git # hello-git 디렉토리로 이동
$ git init # Git 저장소 초기화
2-2 버전 만들기
Git에서 버전이란?
문서를 수정하고 저장할 때마다 생기는 것을 버전이라고 합니다. Git은 이러한 버전을 시간과 수정 내용까지 기록할 수 있는 버전 관리 시스템입니다.
Git의 작업 영역
- 작업 트리 (Working Tree): 우리가 실제로 작업하는 디렉토리
- 스테이지 (Stage): 버전으로 만들 파일이 대기하는 곳
- 저장소 (Repository): 스테이지에서 대기하던 파일들을 버전으로 만들어 저장하는 곳
스테이지와 커밋 이해하기
- 파일을 수정하고 저장하면 작업 트리에 위치합니다.
git add
명령어를 사용하여 스테이지에 파일을 올립니다.git commit
명령어를 사용하여 버전을 생성하고 저장소에 저장합니다.
$ git add 파일명 # 스테이징
$ git status # Git 상태 확인
$ git commit -m "message" # 커밋
$ git log # 커밋 기록 확인
$ git commit -am "message" # 스테이징과 커밋을 한 번에 처리
2-3 커밋 내용 확인하기
커밋 기록 자세히 살펴보기 - git log
$ git log
commit _____________ (HEAD -> main)
Author:
Date: __. Jan 27 __:__:__ 20** +0900
message1
- commit: 커밋 해시 (커밋을 구별하는 아이디)
- Author: 버전을 만든 사람
- Date: 버전이 만들어진 날짜
- 메시지: 커밋 메시지
변경 사항 확인하기 - git diff
$ git diff
diff --git a/hello.txt b/hello.txt
index ******..0b66db0 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1,2 +1,2 @@
1
-2
+two
-2
: 2가 파일에서 삭제되었다는 의미+two
: two라는 내용이 파일에 추가되었다는 의미
2-4 버전 만드는 단계마다 파일 상태 알아보기
Tracked 파일과 Untracked 파일
- Tracked 파일: 한 번이라도 커밋한 파일로, 수정 사항을 추적합니다.
- Untracked 파일: 한 번도 커밋하지 않은 파일로, 수정 내역을 추적하지 않습니다.
$ git add . # 작업 트리에 있는 모든 수정 파일을 스테이지에 올림
$ git log --stat # 커밋과 관련된 파일까지 함께 확인
Unmodified, Modified, Staged 상태
- Unmodified: 파일이 수정되지 않은 상태
- Modified: 파일이 수정된 상태
- Staged: 커밋 직전 단계, 스테이지에 올라간 상태
2-5 작업 되돌리기
1. Staging과 Commit 한 번에 처리 (-am
)
git commit -am
명령어를 사용하면 Staging과 Commit을 한 번에 처리할 수 있습니다. 이는 git add
와 git commit -m
을 합친 것과 동일합니다.
$ git commit -am "message"
2. 커밋 로그 상세 확인 (--stat
)
git log --stat
명령어를 사용하면 각 커밋에서 수정된 파일 목록과 변경된 라인 수를 확인할 수 있습니다.
$ git log --stat
3. 변경사항 취소 (git restore
)
작업 중인 파일의 변경사항을 취소할 때 사용합니다. Staging을 취소할 때는 --staged
옵션을 추가합니다.
$ git restore {file_name} # 변경사항 취소
$ git restore --staged {file_name} # Staging 취소
4. 커밋 되돌리기 (git reset
vs git revert
)
작업 트리에서 수정한 파일 되돌리기 - git restore
$ git restore 파일명 # 작업 디렉토리에서 수정한 내용을 되돌림
스테이징 되돌리기 - git restore --staged
$ git restore --staged 파일명 # 스테이징 취소
최신 커밋 되돌리기 - git reset HEAD^
$ git reset HEAD^ # 가장 최근 커밋 취소
특정 커밋으로 되돌리기 - git reset 해시
$ git reset 해시 # 특정 버전으로 되돌리기
커밋 변경 이력 취소하기 - git revert
$ git revert 해시 # 변경 사항만 취소하고 커밋 기록은 유지
'개인공부' 카테고리의 다른 글
GPT야 내 사고패턴을 알려줘 (0) | 2025.05.05 |
---|---|
[KHUDA GIT 스터디 5일차] 깃허브 실전편 (0) | 2025.01.30 |
[KHUDA GIT 스터디 4일차] 깃 협업 (1) | 2025.01.29 |
[KHUDA GIT 스터디 3일차] 깃 브랜치 와 깃 허브 (0) | 2025.01.28 |
[KHUDA GIT 스터디 1일차] 소프트웨어 메인터넌스와 버전 관리 (0) | 2025.01.28 |