- 소스코드 분산 버전 관리 시스템
- 소스코드를 저장 및 변경이력을 열람하거나 불러올 수 있다.
git
으로 버전관리 하는 디렉토리(저장소).
local repository
- 개발자의 로컬 개발환경에 있는 저장소.
remote repository
Git Hub
등 외부 서버에 있는 저장소.
- 백업하는 특정 버전을 의미한다.
- 같은 저장소의 다른 작업공간을 의미한다.
- 원래의 코드에서 나눈 후 다른 작업공간에서 작업하고 나중에
merge
가능.
- 병합, 다른 브랜치(작업공간)에서 작업한 내용을
merge
하여 하나의branch
로 합칠 수 있다.
git
에는Staging area
,local repo
그리고remote repo
가 존재한다.- 맨 초기상태는 아래 사진의
working directory
에 해당한다.working directory
에서git add
를 통해staging area
에 변화를 기록하고 싶은 파일들을 등록한다.- 등록을 마친 후
git commit
을 통해 백업을 한다(특정 버전으로 기록).- 저장된 커밋들은
git push
를 통해Git Hub
등 서버로push
할 수도 있다.
패키지 매니저
homebrew
를 통해git
을 설치할 수 있다.
- 브루 홈페이지 를 통해
homebrew
설치 가능.
# Installing git
brew install git
# Updating git
brew upgrade git
# Version check
git --version
공식 홈페이지에서
git
설치 가능.
git --version
- 위의 코드를 이용해 버전을 확인한 후 사진처럼 버전이 나온다면 설치 완료.
# Starting git here
git init
- 위의 명령어를 통해
.git
폴더를 생성할 수 있다..git
폴더는 등록된 파일들의 변경사항들을 추적한다.
# Making a file named `one` and `two`
touch one two
# Checking a status
git status
# Adding to a staging area
git add .
touch one
touch two
one
,two
이름으로 된 파일을 만든다.git status
- 현재 상태 확인, untracked files: one, two가
staging area
에 등록되지 않음을 확인할 수 있다.git add .
- 모든 파일들을
staging area
에 등록한다.- 만약
one
파일만 등록하고 싶다면git add one
- 마지막으로
git status
명령어를 다시 실행하면one
andtwo
가 정상적으로staging area
에 등록된걸 확인 할 수 있다.
git commit -m 'v1 commit'
명령어를 통해staging area
에 추가된 파일들을 커밋할 수 있다.-m
: (message)옵션.- 옵션 뒤에 커밋내용의 변동사항을 표기해준다(message).
# Displaying a branch log
git log
git log
명령어를 통해 커밋한 내용들을 버전별로 볼 수 있다.- 나갈때는
q