코드스테이츠 2주차 / GIT 협업

support·2021년 9월 2일
0
post-thumbnail

함께 작업을 할때 서로의 저장소를 연결해서 Github Repository를 공유 할 수 있다

1 git remote add pair <Repository주소> : 페어와 저장소 연결하기

잘 연결됐는지 확인하려면
2 git remote-v 명령어를 실행하면 현재 Local Repository와 연결된 모든 Remote Repository 목록을 확인 할 수 있다

이걸 하면서 오류가 많이 나서 오류 잡는데 시간을 많이 썼다

여러번 시도했던 흔적이 있는데
처음 pair 로 연결을 http주소로 했더니 이름과 비밀번호를 입력하라고 하는데
계속 오류가 나서 검색해보니 ssh를 사용하면 이름과 비밀번호가 없이도 가능했다
그래서 마지막으로 pairpar이름으로 ssh주소로 연결하니 정상적으로 작동했다

여기서 http로 연결을 했을때 이름과 비밀번호는
git의 이름과 git의 비밀번호를 쳐 줘야 하는데 오류가 났던 이유를 찾았다
깃허브 정책으로 깃아이디 비밀번호대신 토큰을 사용하라는 정책이 있어서
git 토큰을 발행해서 비밀번호에 토큰을 입력 해주면 된다고 한다

3 git pull pair master : 페어의 Remote Repository에 있는 작업 내용을 받아오기


그런데 여기서 페어의 Remote Repository에서 작업하신 내용을 받아오려하니
이미 업데이트 상태라고만 나오고 실제로 바뀌지는 않았다

git fetch란 또 뭘까?

fetch 명령은 원격 브랜치에 어떤 변화가 있는지
그 정보만을 가져오고 소스는 불러와지지 않는다
대신 git log --online으로 확인하면 HEAD 포인터가 master를 가리키고 있다
즉 최신 커밋 정보만을 가져오고 아직 지역 저장소에 합치지 않았기 때문에 소스가 보이지 않는 것이다

fetch로 가져온 원격 저장소 정보는 origin/master 브렌치가 아닌 FETCH_HEAD라는 브렌치로 가져와지고
이 브랜치로 가져온 정보는 저장소에 바로 반영되지 않는다

git checkout FETCH_HEAD로 이동하여 확인하면 된다

이후 git log를 입력하면 origin/master와 origin/HEAD가 표시되어 있습니다.

마지막으로 pull이나 merge를 통해 병합해 주면 된다
git merge FETCH_HEAD

지금은 코드스테이츠에서 만든 저장소에서 각자에게 전부 권한을 줘서
따로 설정이 없이 저장소만 연결해줬을때 페어분의 저장소에서 가져올 수 있었지만
나중에 따로 협업을 할 때는 setting의 manage access에서 권한을 줘야
서로 작업 할 수 있다!

0개의 댓글