🐙 Git & GitHub/GIt & GitHub 기초

[Git] 로컬 저장소 Git 기본

koko1177 2023. 5. 12. 01:35
반응형

저장소 : 코드 보관하는 곳
로컬 저장소 : PC에 존재
원격 저장소 : 원격 서버에 존재

 

Git 기본 설정

Git에서 커밋할 때마다 사용하는 사용자 이름, 이메일 주소 설정 명령 (꼭 가장 먼저 설정하기)

$ git config --global user.name "사용자명"
$ git config --global user.email "이메일"

 

Git 기본 명령어

[저장소 사용에 필요한 Git 기본 명령어]

명령어  목표 기능
git init 저장소 생성 실행한 위치를 Git 저장소로 초기화
git add 파일명 저장소에 파일 추가 해당 파일을 Git이 추적할 수 있게 저장소에 추가
git commit 저장소에 수정 내역 제출 변경된 파일을 저장소에 제출
git status 저장소 상태 확인 현재 저장소 상태 출력

 

[저장소 사용을 위한  branch 명령어]

명령어 목표 기능
git branch 이름 저장소에 브랜치 추가 '이름'의 브랜치 생성
git checkout 브랜치명 작업 중인 브랜치 변경 현재 작업 중인 '브랜치명' 변경
git merge 브랜치명 브랜치 병합 현재 작업 중인 브랜치에 '브랜치명'의 브랜치를 끌어와 병합
더보기

* 체크아웃(checkout)에는 책을 대출한다는 뜻도 있음. 현재 작업 공간으로 해당 브랜치를 가져온다는 의미

 


 

Git 전체 작업 흐름

Git 전체 작업 흐름

더보기

* 마지막 master 브랜치에 hotfix 브랜치를 병합(merge) 했으므로, 최종적으로 master 브랜치는 hotfix에서의 수정 내역도 전부 포함

 


Git 로컬 저장소 생성 및 초기화 

 1. Git 저장소로 사용할 디렉토리 생성

$ mkdir git_dir
$ cd git_dir

 

 2. Git 저장소 초기화

# git 저장소 초기화 명령어. 
#  명령어를 사용하면 현재 디렉토리를 Git의 로컬 저장소로 정의.
#   (Git의 버전 관리를 할 수 있는 루트 디렉토리)
$ git init

# ls -al 명령어를 통해 .git 디렉토리가 생성되어 저장소 생성이 완료된 것을 확인
$ ls -al

 

 

Git 커밋 및 브랜치 생성/이동/병합

 1. git add 와 git commit (첫 번째 커밋)

# [vi 편집기 실행]
$ vi hello.py
  #(내용 작성)
 
# [내용 출력]
$ cat hello.py
$ python hello.py
# [저장소 상태 확인]
$ git status
# [파일 기록 추가]
$ git add hello.py
# [첫 번째 커밋]
$ git commit
  #(커밋 메시지 작성)

 

 2. git branch 와 git checkout (새로운 브랜치 생성과 이동)

# [현재 어떤 브랜치가 있는지 확인]
$ git branch

# [브랜치 생성]
$ git branch hotfix

# [브랜치 생성 후 master와 hotfix 두 개의 브랜치 확인]
$ git branch

# [hotfix 브랜치로 이동]
$ git checkout hotfix


# [git branch 명령 + git checkout 명령 한번에 실행]
$ git checkout -b "브랜치명"
더보기

현재 작업 중인 브랜치에는 * 표시

# [vi 편집기 실행]
$ vi hello.py
  #(내용 작성)
 
# [내용 출력]
$ cat ehllo.py
$ python hello.py

 

 3. git commit -a (두 번째 커밋)

# [두 번째 커밋]
$ git commit -a		# 저장소 파일 전체 커밋
  #(커밋 메시지 작성)

 

 4. git merge (master 브랜치와 병합)

# [master 브랜치로 이동]
$ git checkout master

# [master 브랜치로 변경되었는지, 커밋 상태 확인 위해 git status 명령]
$ git status

# [브랜치 병합, master 브랜치에서 명령 실행 (master + hotfix)]
$ git merge hotfix

# [커밋할 내용 작성]
$ vi hello.py
  #(내용 작성)

$ python hello.py

# [세 번째 커밋]
$ git commit -a
  #(커밋 메시지 작성)
  
# [네 번째 커밋]
$ git checkout hotfix	# hotfix 브랜치로 이동
$ vi hello.py
  #(내용 작성)
$ git commit -a

 

 

반응형