[git으로 같이 작업하기]
같이 작업을 하기 위해서는 승인을 해줘야만 올릴 수 있음
setting
→ collaborators & teams (Manage access)
→ collaborator (Manage access) 부분에 동료의 github 아이디 입력
→ 이메일 확인
→ 협업 승인
→ Permission level 설정 (Admin, write, read)
협업자의 컴퓨터에 원격저장소 셋팅
git clone “HTTPS 주소”
[git push & pull]
작업 전, 다른 사람이 한 작업을 가져와서 사용해야 하며, 겹칠 경우 병합해야 함
git pull → git mergetool or nano로 직접 수정
push를 자주 해주어야 협업자 간의 충돌이 일어나지 않으므로 작업 전, pull을 통해 업데이트를 확인하는 것이 필요
[git pull vs fetch 그리고 원격 브랜치]


HEAD → master
지역저장소 master branch (지역저장소에서 가장 최근 버전을 가리킴)
“별명”/master
원격저장소 중 “별명”이라는 이름의 master branch (원격저장소에서 가장 최근에 가져온 버전을 가리킴)
HEAD → master 가 “별명”/master 보다 하나 더 앞서 있을 경우) 지역저장소의 내용을 원격저장소에 넣어줘야 함
git push를 사용해 HEAD → master 와 "별명"/master 가 같은 위치에 있을 수 있도록 해야 함. (내용을 동일하게)
그 후, 다른 협업자가 작업을 할 때) 원격저장소의 내용을 지역저장소에 넣어줘야 함
pull을 사용하여 가져와서 사용해야 하는데,
git pull 대신 git fetch를 사용하게 되면 "별명"/master 가 HEAD → master 보다 하나 앞서 있으므로
git pull 또는 git merge를 사용해 둘이 같이 있을 수 있도록 해야 함. (git merge “별명”/master 사용)
git pull = git fetch; git merge “별명”/master
git fetch를 통해 원격저장소만 업데이트를 하고
우리가 가져온 원격 branch가 master라고 한다면 git merge “별명”/master를 한 것과 같은 효과
즉, fetch를 통해 원격저장소의 내용으로 업데이트를 하여 커밋 등을 가져와 같은 위치로 맞춰주고 내용을 확인을 한 후
결합을 위해서 merge를 해주는 것이 pull와 같은 의미 (pull = fetch + merge)
내가 작업을 하고 있을 때, 나와 같이 협업을 하는 협업자가 새로운 내용을 원격 저장소에 업데이트 했을 경우
이를 바로 결합하지 않고 어떤 내용이 있는지 확인한 후 결합하고자 할 때 사용
fetch를 할 때마다 .git/FETCH_HEAD에는 원격저장소에 가장 최근에 merge한 내용이 적히게 됨.
그러므로 git fetch; git merge FETCH_HEAD를 하게 되면 위의 파일을 참고해 최근에 패치한 내용을 merge시켜줌.
즉, git pull = git fetch + git merge FETCH_HEAD
신중히 하고 싶을 때, 결합은 하지 않고 가져오는 것만 먼저 하고 싶다면 pull 대신 fetch를 사용해라.
'GIT' 카테고리의 다른 글
[GIT] github.com - Pull request (0) | 2021.08.18 |
---|---|
[GIT] Cherry-pick & Rebase (0) | 2021.08.18 |
[GIT] 백업 (Backup) (0) | 2021.08.18 |
[GIT] 브랜치와 충돌 (Branch & Conflict) (0) | 2021.08.18 |
[GIT] 버전 관리 (0) | 2021.08.18 |
[git으로 같이 작업하기]
같이 작업을 하기 위해서는 승인을 해줘야만 올릴 수 있음
setting
→ collaborators & teams (Manage access)
→ collaborator (Manage access) 부분에 동료의 github 아이디 입력
→ 이메일 확인
→ 협업 승인
→ Permission level 설정 (Admin, write, read)
협업자의 컴퓨터에 원격저장소 셋팅
git clone “HTTPS 주소”
[git push & pull]
작업 전, 다른 사람이 한 작업을 가져와서 사용해야 하며, 겹칠 경우 병합해야 함
git pull → git mergetool or nano로 직접 수정
push를 자주 해주어야 협업자 간의 충돌이 일어나지 않으므로 작업 전, pull을 통해 업데이트를 확인하는 것이 필요
[git pull vs fetch 그리고 원격 브랜치]


HEAD → master
지역저장소 master branch (지역저장소에서 가장 최근 버전을 가리킴)
“별명”/master
원격저장소 중 “별명”이라는 이름의 master branch (원격저장소에서 가장 최근에 가져온 버전을 가리킴)
HEAD → master 가 “별명”/master 보다 하나 더 앞서 있을 경우) 지역저장소의 내용을 원격저장소에 넣어줘야 함
git push를 사용해 HEAD → master 와 "별명"/master 가 같은 위치에 있을 수 있도록 해야 함. (내용을 동일하게)
그 후, 다른 협업자가 작업을 할 때) 원격저장소의 내용을 지역저장소에 넣어줘야 함
pull을 사용하여 가져와서 사용해야 하는데,
git pull 대신 git fetch를 사용하게 되면 "별명"/master 가 HEAD → master 보다 하나 앞서 있으므로
git pull 또는 git merge를 사용해 둘이 같이 있을 수 있도록 해야 함. (git merge “별명”/master 사용)
git pull = git fetch; git merge “별명”/master
git fetch를 통해 원격저장소만 업데이트를 하고
우리가 가져온 원격 branch가 master라고 한다면 git merge “별명”/master를 한 것과 같은 효과
즉, fetch를 통해 원격저장소의 내용으로 업데이트를 하여 커밋 등을 가져와 같은 위치로 맞춰주고 내용을 확인을 한 후
결합을 위해서 merge를 해주는 것이 pull와 같은 의미 (pull = fetch + merge)
내가 작업을 하고 있을 때, 나와 같이 협업을 하는 협업자가 새로운 내용을 원격 저장소에 업데이트 했을 경우
이를 바로 결합하지 않고 어떤 내용이 있는지 확인한 후 결합하고자 할 때 사용
fetch를 할 때마다 .git/FETCH_HEAD에는 원격저장소에 가장 최근에 merge한 내용이 적히게 됨.
그러므로 git fetch; git merge FETCH_HEAD를 하게 되면 위의 파일을 참고해 최근에 패치한 내용을 merge시켜줌.
즉, git pull = git fetch + git merge FETCH_HEAD
신중히 하고 싶을 때, 결합은 하지 않고 가져오는 것만 먼저 하고 싶다면 pull 대신 fetch를 사용해라.
'GIT' 카테고리의 다른 글
[GIT] github.com - Pull request (0) | 2021.08.18 |
---|---|
[GIT] Cherry-pick & Rebase (0) | 2021.08.18 |
[GIT] 백업 (Backup) (0) | 2021.08.18 |
[GIT] 브랜치와 충돌 (Branch & Conflict) (0) | 2021.08.18 |
[GIT] 버전 관리 (0) | 2021.08.18 |