포크와 오픈소스 기여
6. 연습 문제
문제 1. 원격 이름 구분
포크 워크플로에서 내가 push 할 수 있는 원격과, 원본을 가리키는 원격의 이름을 각각 쓰세요.
origin: 내 포크 (push 가능)
upstream: 원본 저장소 (보통 읽기 전용)git clone 은 origin 만 자동으로 등록하므로 upstream 은 직접 추가해야 합니다.
문제 2. upstream 추가
내 포크를 이미 clone 한 상태에서 원본 저장소를 upstream 이라는 이름으로 추가하는 명령을 쓰세요.
git remote add upstream <원본 주소>추가한 뒤 git remote -v 로 두 원격이 모두 보이는지 확인합니다.
문제 3. DCO 서명 커밋
커밋 메시지 끝에 Signed-off-by 줄을 자동으로 붙여 커밋하는 명령을 쓰세요.
git commit -s -m "메시지"이미 만든 커밋에 서명을 빠뜨렸다면 git commit --amend -s 로 고칩니다.
문제 4. main 동기화
내 포크의 main 에 커밋을 만든 적이 없을 때, 원본의 최신 상태로 맞추는 명령 두 개를 순서대로 쓰세요.
git fetch upstream
git merge --ff-only upstream/main--ff-only 가 실패한다면 main 에 내가 모르는 커밋이 있다는 뜻입니다.
문제 5. rebase 후 안전한 push
작업 브랜치를 main 위로 rebase 한 뒤, 동료의 push 를 보호하면서 원격에 반영하는 명령을 쓰세요.
git push --force-with-lease origin <브랜치>--force 를 쓰면 내가 모르는 사이 추가된 커밋까지 덮어쓸 위험이 있습니다.