1. 서로 다른 컴퓨터에서 원격 저장소 함께 사용하기
◎ 원격 저장소 복제 - git clone
▷ test-1 저장소 이용
▷ git_home : 사용자 집
▷ git_office : 사용자 사무실
◎ HTTPS 주소 사용해서 원격 저장소 저장하기
1. clone을 이용해서 git_home과 git_office도 원격 저장소에 저장합니다.(아래와 같은 형식 사용)
▷ git clone 원격 저장소주소 git_home
▷ git clone 원격 저장소주소 git_office
git-home과 git_office에 같은 종류의 커밋이 되어 있습니다.
2. git_office에 f1.txt를 수정하고 ' add c'로 커밋합니다. git push를 하면 깃허브로 등록이 됩니다.
3. git_home에 git pull을 하면 git_office와 동일하게 커밋됩니다.
4. 반대로도 동일하게 수행할 수 있습니다. 결론은 집과 회사에서 각 커밋했던 것을 원격 저장소를 이용해 공유할 수 있습니다.
2. 원격 브랜치 정보 가져오기
◎ 원격 main 브랜치
1. git_home 디렉터리로 이동한후 커밋 상태를 확인합니다.
▷ (HEAD -> main, orgin/main, origin/HEAD)라고 되어있습니다.
▷ (HEAD -> main)은 이 커밋이 지역 저장소의 최종 커밋을 뜻합니다.
▷ (origin/main)는 원격 저장소의 최종 커밋을 뜻합니다.
2. git_home 디렉터리에 'f3.txt' 파일 생성 후 "create f3.txt"로 커밋합니다.
▷ 새로 커밋하면 지역 저장소의 최종 커밋만 변경된 것을 확인할 수 있습니다.
3. git status를 통해 상태를 확인하면 git push로 원격 저장소로 저장하라는 말이 있습니다.
이후 git push를 하면 모두 "create f3.txt"로 최종 커밋이 변경된 것을 확인할 수 있습니다.
◎ 원격 브랜치 정보 가져오기(git fetch)
1. 이제 원격 저장소의 최종 커밋을 git_office로 디렉터리를 옮겨 보겠습니다.
▷ git fetch는 pull과 다르게 정보만 가져오고 커밋은 가져오지 않습니다.
▷ 이 디렉터리에는 원격 저장소에서 저장했던 f3가 없습니다.
▷ 여기서 status를 확인하면 'git pull'로 원격 저장소에 있는 것을 가져오라고 합니다.
2. git diff 명령을 이용해서 최신 커밋과 원격 저장소 커밋의 차이를 확인하고 merge를 이용해서 합치면 됩니다.
▷ git pull과 동일한 효과를 냅니다.
▷ git diff HEAD origin/main
▷ git merge origin/main
3. 협업의 기본
◎ 협업을 위한 저장소 만들기
1. 깃허브 : 공개 저장소 주소만 알면 누구든지 접속해서 모든 소스를 볼 수 있습니다.
▷ 깃허브 회원이라면 누구나 오픈 소스 프로젝트의 소스를 내려 받을 수 있습니다.
▷ 하지만 누구나 저장소에 커밋을 푸시할 수는 없습니다.
▷ 공개 저장소든 비공개 저장소든 승인된 공동 작업자에게만 커밋을 올릴 수 있는 권한을 주어야 합니다.
예시)
(1) 팀장과 팀원1, 팀원2 이렇게 세 사람이 깃허브를 통해 협업
(2) 팀장이 저장소를 만든 후 팀원1과 팀원2를 공동 작업자로 추가
(3) 팀장 저장소 : manuals 라는 깃허브 저장소를 만들 때 Add a README file에 체크한 후 Create repository를 클릭해서 main 브랜치 생성
◎ 저장소에 브랜치 만들기
공동 작업을 위한 저장소라면 여러 사람이 계속 소스를 올리기 때문에 잘못하면 서로 꼬일 수 있고, 누가 어떤 작업을 했는지 구별하기도 어렵습니다.
따라서, 협업을 위한 저장소는 사용자별로 브랜치를 만들어 푸시하게 됩니다.
각자 자신의 브랜치에 커밋을 올리고 팀장이나 다른 사람의 허가를 받아 main 브랜치를 합칩니다.
깃허브 저장소에서 [main]이라고 브랜치가 표시된 부분을 클릭하며 브랜치를 추가하거나 전환할 수 있습니다.
▷ 브랜치 추가 apple
▷ 새로 추가 ms
◎ 공동 작업자 추가
1. 원격 저장소 manuals 들어가서 Settings 클릭 왼쪽 항목 collaborators 선택 같이 작업할 사람의 이메일 주소 입력
follow 되어있는 사람이라면 모두 collaborators로 지정 가능합니다.
상대방이 수락해야 공동 작업이 가능합니다.
저도 상대방의 제안을 수락해야 상대방의 파일에 공동 작업이 가능합니다.
까먹지 마세요...ㅎㅎ
◎ 원격 저장소 복제하기(공동 작업자 일 때)
1. 깃허브 메인 화면에서 다른 사람의 원격 저장소 선택 (아이디/저장소 명)
2. 상대방의 원격 저장소를 복제해서 직접 커밋을 만들고 깃허브로 푸시할 수 있습니다.
▷ 커밋하기 전에 사용할 이름과 이메일 주소를 별도 지정해도 됩니다.
▶ git config user.name "사용자 이름"
▶ git config user.name "메일 주소"
▷ 지정하지 않으면 본인의 깃허브 아이디가 나타납니다.
◎ 원격 저장소에 커밋 푸시하기
1. 공동 작업시 누군가 원격 저장소에 커밋을 푸시했을 경우가 있기때문에 항상 git pull을 먼저해 최신 커밋을 가져옵니다.
▷ 변경 사항이 있다면 내려받아 지역 저장소에 병합하고, 변경사항이 없다면 'Already up to date'라고 표시됩니다.
2. 수정할 경우는 아래와 같이 변경 후 커밋해 push를 등록하면 상대방의 브랜치에 변경사항이 적용됩니다.
◎ git으로 push할 때 누군가 사용했을 경우
제어판 → 사용자 계정 → 자격 증명 관리 → windows 자격 증명 → git:https://github.com 클릭해서 사용자 이름과 암호를 확인하고 깃과 깃허브의 계정과 다르면 편집으로 수정합니다.
이렇게 깃허브로 협업하는 방법에 대해서 배워보았습니다.
초기 설정이 어려워서 그렇지 실제로 사용하다보면 복잡하지는 않을 것 같네요!!!
오늘은 여기까지만 정리하겠습니다!!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'협업툴 > git(hub)' 카테고리의 다른 글
[git/git hub] java와 깃허브 연결하기 (0) | 2023.01.04 |
---|---|
[git/git hub] 비주얼 스튜디오 코드로 다루는 깃과 깃허브 (0) | 2023.01.04 |
[git/git hub] SSH 원격 접속이란? (0) | 2023.01.03 |
[git/git hub] 깃허브 시작하기 (0) | 2023.01.03 |
[git/git hub] 브랜치 사용하기 (0) | 2023.01.03 |