본문 바로가기
ETC

[GITHUB] 여러 레포지토리에 동시에 같은 커밋하기

by 뭉망뭉 2021. 10. 11.

깃허브에 잔디가 심어지는 조건은

  1. default 브랜치 (주로 main이나 master 브랜치)에서의 커밋
  2. Issues, pull request, discussions

등이다. fork해온 저장소에서의 커밋은 contributions graph, 일명 잔디에 반영되지 않는다. 

단, pull request를 보냈을 때 merge가 되면 그제서야 그동안의 커밋이 잔디로 심어진다. 머지되지 않으면 PR 하나만 잔디에 반영된다. 

협업을 할 때 주로 branch를 분리해서 작업하는데, default 브랜치에 머지되기 전까지는 커밋을 아무리 해도 잔디가 심어지지 않는다. 

 

잔디는 심고 싶은데 다른 계정의 레포지토리에 커밋할 때, 그런데 PR을 보내도 머지될 가능성이 아예 없을 때 이 명령어를 사용하면 된다. 

 

우선 '여러 레포지토리에 커밋'을 하고 싶은 사람은 한 레포지토리에 이미 커밋해놨을 테지만 혹시 몰라서 적자면, 

git init
git add .
git commit -m "커밋명"
git remote add origin 레포지토리_주소
git push origin 브랜치명

위와 같은 기본 과정을 거치면 된다. 이렇게 하면 한 레포지토리에 커밋한 내용이 push되어 올라와 있을 것이다.

 

다른 레포지토리 주소도 추가하려면 다음 과정을 거치면 된다.

//다른 레포지토리의 주소 추가
git remote set-url --add --push origin 레포지토리_주소2

git remote get-url origin --push --all //push용 주소 여러 개 다 들어있는지 확인

git push origin 브랜치명 //push! 커밋 내용이 지정한 여러 레포지토리에 동시에 push된다

git remote set-url --add --push origin 주소

를 했을 때 레포지토리 주소가 추가한 대로 안 나오면 저 명령어를 그대로 다시 하면 된다. 

 

get-url 했을 때 원하는 레포지토리 주소들이 나오면 성공

 

같은 커밋을 본인 계정의 여러 repository에 해서 의미 없는 커밋 수를 n배로 늘리는 것은 지양하는 것이 좋다.  

'ETC' 카테고리의 다른 글

[VSCode] 언어별 indent 다르게 설정하기  (0) 2022.03.03

댓글