코딩/Git

github 협업, github organization, 그룹 협업

eunslog 2024. 5. 16. 11:27
github로 협업하는 방법에 대해 소개하겠다.

 

1. 깃허브 사이트에서 로그인 후 오른쪽 위 프로필 클릭

 

2. Your orgainzation 클릭

 

3. New organization 클릭

 

4. Free로 진행 (상황에 맞게)

 

5. 다 적어주고 next 클릭

 

6. 깃허브 닉네임 또는 메일로 그룹원 추가 후 Complete setup 클릭

그리고 그룹원들의 권한은 설정에서 ADMIN으로 주는 것이 편하다.

 

7. repository 클릭

이런 화면 뜨는데 안적어도 됨.

 

8. repository 생성

New repository 클릭

 

원하는 정보 및 설정 선택

Private으로 하면 fork가 안되므로 나는 보통 Public으로 사용한다.

다 적고 Create repository 클릭

 

그러면 이렇게 레포지토리가 생긴다.

 

9. git clone 방법 (처음 시작할때 / 이미 만든 프로젝트가 있다면 10번으로)

 

clone 방법은 Code 누르고 HTTPS에서 복사 모양 클릭

 

 

임의의 폴더를 만들고 오른쪽 클릭 > 추가 옵션 표시 > Git Bash Here 클릭

 

git clone 아까 복사한 url을 입력

 

방금 만든 폴더에 잘 올라간 것을 확인할 수 있다.

 

10. git add origin, git add upstream

일단.. 협업시에는 보통 fork해서 개인 repository -> (push) -> 그룹 repository 이렇게 많이 사용한다.

 

여기 Fork를 클릭한다

 create fork 클릭

그러면 내 레포지토리에 그룹 레포지토리를 그대로 copy해서 가져온 것이다.

이 상태에서 upstream: 그룹 레포지토리, origin: 내 레포지토리

간단하게 이렇게만 알고 내가 가진 원래 프로젝트에 올려보겠다.

내 레포지토리의 url을 복사한다.

 

내 springboot 프로젝트를 여기에 올려보겠다.

Terminal 에서 다음 명령어 실행

git init

git remote add origin <복사한url>

git remote -v는 원격 저장소를 확인하는 명령어이다.

잘 연결된 것을 확인할 수 있다.

 

다음은 내 그룹 레포지토리에서 url을 똑같이 copy한다.

git remote add upstream <복사한url>

git remote -v

이렇게 뜨면 연결이 잘 된 것이다.

 

다음은 내 프로젝트를 올려보겠다.

git add .

git commit -m "원하는 메시지 입력"

 

git branch로 내 로컬 저장소의 브랜치를 확인한다.

나는 지금 원격 저장소에서의 branch 이름은 main, 로컬 저장소에서는 다음과 같이 master로 되어 있었다.

(원격 저장소에서 branch 이름 확인 후 같으면 그냥 진행해도 됨. 그런데 보통 업계에서는 main을 많이 씀.)

브랜치 확인 방법

따라서 git branch -m [현재 브랜치명] [바꾸고 싶은 브랜치명]

명령어를 이용해서 브랜치명을 바꿨다.

그 다음 git pull origin main : 원격 저장소의 내용을 가져옴

git pull upstream main: upstream 저장소의 내용을 가져옴

 

git push --force --set-upstream origin main 명령어 입력

 

그러면 내 레포지토리에 프로젝트가 잘 올라가진 것을 확인할 수 있음.

만약 이렇게 뜨면 Update Branch 클

그런데 여기서 끝나면 안되고 그룹 레포지토리로 푸시해야함.

 

New pull request 클릭

그러면 자동으로 내가 올린 프로젝트가 로드된다. 여기서 Create pull request 클릭

 

원하는 title과 description 작성 후 Create pull request 클릭

 

Merge pull request 클릭

Confirm Merge 클

 

그러면 그룹 레포지토리에도 성공적으로 올라간 것을 확인할 수 있다~

 

이렇게 사전세팅이 다 완료된 상태에서

깃 협업 시 알아야할 명령어는 다음과 같다.

 

git pull origin main: 로컬 저장소(현재 내 프로젝트)에서 원격 저장소(github의 내 레포지토리 main 브랜치)의 코드 가져오기

git pull upstream main: 로컬 저장소(현재 내 프로젝트)에서 upstream 저장소(그룹 레포지토리 main 브랜치)의 코드 가져오기

 

(근데 사실 이 부분만 외우면 된다)

로컬 저장소에서 코드 저장 후 push 할 때

git add .
git commit -m "커밋할 내용"
git pull upstream main: (upstream 저장소의 내용을 가져옴)
git checkout -b branch명: 브랜치 생성과 체크아웃 한번에 가능
git push -u origin branch명: 원격 저장소로 해당 브랜치 push

 

이렇게 사용 후 github에 들어가서 내 원격저장소에서 upstream 저장소로 pull request를 보내면 된다.