- 파일이나 디렉토리를 저장하는 장소
local repository
: 개인 PC에 존재하는 저장소.remote repository
: 원격 저장소. 파일을 원격 저장소 전용 서버에서 관리하고 공유가 가능하다.
- remote repository의 내용을 통째로 다운로드 한다.
git clone repository addresss
git add
는 작업 디렉토리(working directory) 상의 변경 내용을 스테이징 영역(staging area)에 추가하기 위해서 사용하는 Git 명령어이다.git add
명령어는 다음 변경(commit)을 기록할 때까지 변경분을 모아놓기 위해서 사용한다.
따라서, git commit 명령어를 통해 명시적으로 기록을 남기기 전까지는 아무리 git add 명령어를 많이 실행해도 Git 저장소의 변경 이력에는 어떤 영향도 주지 않는다.git add <파일/디렉토리 경로>
작업 디렉토리의 변경 내용의 일부만 스테이징 영역에 넘기고 싶을 때는 수정한 파일이나 디렉토리의 경로를 인자로 넘긴다.git add .
작업 디렉토리의 변경 내용의 일부만 스테이징 영역으로 넘기고 싶을때는.
을 인자로 넘긴다.git add -A
작업 디렉토리 내의 모든 변경 내용을 몽땅 스테이징 영역으로 넘기고 싶을 때는-A
옵션을 사용한다
git add
명령어를 사용할 때, 항상 함께 사용하게 되는 명령어가git status
이다.
git status
명령어는 작업 디렉토리(working directory)와 스테이징 영역(staging area)의 상태를 확인하기 위해서 사용한다.
- Changes to be committed: 이 영역은 스테이징 영역에 넘어가 있는 변경 내용을 보여준다.
- Changes not staged for commit: 이 영역은 아직 워킹 디렉토리에 있는 변경 내용을 보여준다.
- Untracked files: 이 영역도 아직 워킹 디렉토리에 있는 아직 한 번도 해당 Git 저장소가 관리한 적이 없는 새로운 파일을 보여준다.
- 파일 및 폴더의 추가/변경 사항들을 저장할 때 사용한다.
git commit -m"커밋할 내용"
- commit한 내용 (head의 변경내용)을 remote repo(원격 저장소)에 올린다.
- 즉 local에서 변경한 내용을 원격 저장소로 업로드한다.
git push <branch name>
- branch의 변경사항을 다른 branch (예를 들어 feature와 develop)의 반영할 때 사용한다.
- 현재 branch를 기준으로 병합된다.
- 만약 두 branch가 같은 파일의 같은 곳을 수정하면 Conflict(충돌)이 발생한다.
git merge <합칠 branch name>
- branch를 변경한다.
git checkout <branch name>
재밌는 짤을 발견했다..
push할때 우리의 모습이 되지 않길 바라며.....ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
혹시 깃 구조 사진을 블로그에 올리고 싶은데 출처를 남기고 올려도 될까요?