포크 업데이트
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
포크는 선택한 네임스페이스에 생성하는 리포지터리와 모든 브랜치의 개인 복사본입니다. GitLab UI로도 포크를 업데이트할 수 있습니다. 커맨드 라인에서 포크를 업데이트하려면: 포크에 upstream 원격 리포지터리가 구성되어 있는지 확인합니다:
포크는 선택한 네임스페이스에 생성하는 리포지터리와 모든 브랜치의 개인 복사본입니다. 포크를 사용하여 액세스 권한이 없는 다른 프로젝트에 변경 사항을 제안할 수 있습니다. 자세한 내용은 포킹 워크플로우를 참조하세요.
GitLab UI로도 포크를 업데이트할 수 있습니다.
사전 요구 사항:
- 로컬 머신에 Git 클라이언트를 다운로드하고 설치해야 합니다.
- 업데이트하려는 리포지터리의 포크를 만들어야 합니다.
커맨드 라인에서 포크를 업데이트하려면:
-
포크에
upstream원격 리포지터리가 구성되어 있는지 확인합니다:-
아직 하지 않았다면 포크를 로컬로 클론합니다. 자세한 내용은 리포지터리 클론을 참조하세요.
-
포크에 구성된 원격을 확인합니다:
git remote -v -
포크가 원래 리포지터리를 가리키는 원격이 없으면 다음 예시 중 하나를 사용하여 upstream이라는 원격을 구성합니다:
# Set any repository as your upstream after editing <upstream_url> git remote add upstream <upstream_url> # Set the main GitLab repository as your upstream git remote add upstream https://gitlab.com/gitlab-org/gitlab.git
-
-
포크를 업데이트합니다:
포크 간 협업#
GitLab은 업스트림 프로젝트 유지 관리자와 포크 소유자 간의 협업을 지원합니다. 자세한 내용은 다음을 참조하세요:
업스트림 멤버로 포크에 푸시#
다음의 경우 포크된 리포지터리의 브랜치에 직접 푸시할 수 있습니다:
- 머지 리퀘스트 작성자가 업스트림 멤버의 기여를 허용했습니다.
- 업스트림 프로젝트에 대한 Developer, Maintainer 또는 Owner 권한이 있습니다.
다음 예시에서:
- 포크된 리포지터리 URL은
git@gitlab.com:contributor/forked-project.git입니다. - 머지 리퀘스트의 브랜치는
fork-branch입니다.
기여자의 머지 리퀘스트에 커밋을 변경하거나 추가하려면:
-
상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
Code > Merge requests로 이동하여 머지 리퀘스트를 찾습니다.
-
오른쪽 상단 모서리에서 Code를 선택한 다음 Check out branch를 선택합니다.
-
다이얼로그에서 Copy([copy-to-clipboard])를 선택합니다.
-
터미널에서 리포지터리의 클론된 버전으로 이동하고 명령을 붙여넣습니다. 예를 들면:
git fetch "git@gitlab.com:contributor/forked-project.git" 'fork-branch' git checkout -b 'contributor/fork-branch' FETCH_HEAD이 명령들은 포크된 프로젝트에서 브랜치를 가져오고 작업할 로컬 브랜치를 만듭니다.
-
브랜치의 로컬 복사본에 변경 사항을 적용한 다음 커밋합니다.
-
로컬 변경 사항을 포크된 프로젝트에 푸시합니다. 다음 명령은 로컬 브랜치
contributor/fork-branch를git@gitlab.com:contributor/forked-project.git리포지터리의fork-branch브랜치로 푸시합니다:git push git@gitlab.com:contributor/forked-project.git contributor/fork-branch:fork-branch커밋을 수정하거나 스쿼시한 경우
git push --force를 사용해야 합니다. 이 명령은 커밋 히스토리를 다시 쓰므로 주의하세요.git push --force git@gitlab.com:contributor/forked-project.git contributor/fork-branch:fork-branch콜론(
:)은 소스 브랜치와 대상 브랜치를 지정합니다. 스키마는 다음과 같습니다:git push <forked_repository_git_url> <local_branch>:<fork_branch>
