Git | 깃허브로 협업하기 1/2

파과·2022년 9월 27일
0

Git

목록 보기
7/8

git_home과 git_office라는 2개의 디렉터리를 만들어 협업을 연습해보자.

원격 저장소를 기존에 연결된 지역 저장소 외에 다른 지역 저장소에서 사용하려면 원격 저장소에 담긴 내용 전체를 지역 저장소로 가져와야 하는데, 이것을 clone한다고 한다.

원격 저장소 복제하기

깃허브에 만든 test-1 저장소를 git_home이라는 저장소로 복제하자. Code를 누르고 HTTPS 저장소 주소를 복사한다.

$ git clone 복사한 주소 붙여넣기 git_home
git_home 디렉터리가 없다면 자동으로 만들어진다. 현재 디렉터리에 복제하려면 마침표만 입력하면 된다.

똑같이 git_office에도 복제하자.

$ git clone 복사한 주소 붙여넣기 git_office

개인 컴퓨터에서 작업하고 올리기

git_home에서 커밋을 만들고 푸시해 보자.

$ git commit -am "add c"
$ git push 원격 저장소에 올리기

깃허브의 test-1 저장소로 가서 제대로 올라왔는지 확인한다. (마지막으로 커밋한 add c 내용이 올라와 있다)

회사 컴퓨터에서 내려받아 작업하기

git_office에서 작업하려면 먼저 원격 저장소에 새로 올라온 커밋을 가져와야 한다.
git_office로 이동하자.

$ git pull

이제 git_office에서 다시 파일을 수정한 후 커밋하고 푸시한다.

$ git commit -am "add d"
$ git push

이걸 다시 개인 컴퓨터에 가져오려면 pull 명령을 사용한다.

원격 브랜치 정보 가져오기

git pull로 원격 저장소의 최신 커밋을 지역 저장소에 합치기 전에, 원격 저장소에 어떤 변화가 있었는지 먼저 살펴봐야 한다. 이럴 때는 원격 브랜치에서 정보만 먼저 가져올 수 있다.

이제부터

  • 원격 저장소의 브랜치 : 원격 브랜치
  • 원격 저장소에 있는 master 브랜치 : 원격 master 브랜치로 구별한다.

git_home 디렉터리에 새로운 커밋을 만든다.
이 상태에서 git status를 입력해 보면 현재 master브랜치가 origin에 있는 원격 master브랜치의 버전보다 하나 앞서 있는 것을 알 수 있다.

$ git push 후에는 master과 origin/master 브랜치가 같은 커밋을 가리키게 된다.

git_office로 이동해 아래 명령을 실행해보자.
$ git fetch 원격 저장소의 정보만 가져온다.

페치로 가져온 최신 커밋을 살펴보고 싶다면 FETCH_HEAD 브랜치로 체크아웃해 확인한다.

$ git checkout FETCH_HEAD

이 상태에서 git log 명령을 사용해 살펴볼 수 있다.

$ git diff HEAD origin/master 지역 저장소의 최신 커밋과 페치한 커밋 비교.

$ git checkout master로 다시 이동한 뒤, 커밋을 병합해 보자.

$ git merge FETCH_HEAD

페치로 가져온 브랜치 한번에 병합하기

$ git merge origin/master 페치한 뒤 병합할 때 원격 master브랜치에 있는 커밋이라면 다음과 같이 병합한다.

$ git merge origin/브랜치 이름 다른 브랜치에 있는 커밋이라면.

$ git merge FETCH_HEAD 페치 후 지역 저장소에 반영하지 않은 최신 커밋을 병합할 수 있다.

0개의 댓글