새로운 로컬환경에서 작업할 경우

새로운 로컬 공간에서 작업을 할 경우 Remote공간에 있는 소스가 필요하다.
1. git clone
Remote에 저장된 작업 파일을 통째로 Local로 가져온디.
-
처음 프로젝트에 투입되거나
-
책에서 제공하는 예제 소스를 가져올 때
-
중간에 git이 꼬였을 때 사용한다.
git clone https://github.com/repository
// 특정 브랜치를 clone 하고 싶을 때
git clone -b { 브랜치명 } https://github.com/repository
//node-opencv 오픈소스를 clone하고 싶을 때
git clone https://github.com/peterbraden/node-opencv.git
2. git clone VS git pull
공통점: remote repository에 있는 파일들을 local로 가져온다.
1) git clone
: Remot Repository의 모든 파일들을 가져오기만 한다.

2) git pull
: Local Repository와 비교, 병합 후에 저장한다.
git pull { 원격 저장소 별명 } { 브랜치명 }
git pull --rebase { 원격 저장소 별명 } { 브랜치명 }
// git pull --rebase = git fetch + git rebase
// pull 명령어를 실행할 때 merge가 아닌 rebase 방식으로 병합을 하려면 다음과 같이 --rebase 옵션을 주면 됩니다.
// merge 보다 히스토리( log )가 깔끔해진다는 장점 때문에 Git에서는 최신 코드로 업데이트 할 때 rebase를 사용할 것을 권장하고 있습니다.
git pull = git fetch(맞추기) + git merge(합치기)
1) git fetch
-
local에 연결된 remote repository의 브랜치 목록과 그 파일 내용을 최신으로 업데이트 하는 명령어입니다.
-
local과 remote의 싱크를 맞추는 새로고침 역할입니다.
2) git merge
- 두 개의 branch를 병합하는 명령어입니다.
- git pull은 협업 과정에서 프로젝트의 최신 코드를 local로 가져오는 역할로 많이 사용합니다.
- git clone을 하면 나의 작업과 동료의 작업한 최신 버전은 각각 독립된 존재가 되어버립니다. 하지만 git pull을 사용하면 내가 작업 중인 local repository와 최신 코드가 비교및 병합되어, 최신 버전 파일들이 나의 local repository에 적용됩니다. 따라서 내가 작업하고 있던 코드들과 최신 버전 파일의 코드는 함께 존재하게 되죠. 즉, 내가 작업한 코드와 동료의 작업 코드가 자동으로 합쳐지게 되니까 매우 바람직합니다.