과제를 하기 위해 해당 리포지토리 루트에 대해 Git bash로 접근한 이후 다음과 같은 과정을 거쳤다.
git init - > git remote add origin https://github.com/B1uffer/<fork주소>.git - > git checkout -b <branch명>
- > git add. git commit -m "커밋 이름" - > git push origin <branch명>
이후 IntelliJ를 열어서 branch와 잘 연결됐는지 확인해봤는데, 연결이 잘 되지 않았다


그런데 git 웹사이트의 내 리포지토리를 보면 제대로 branch는 생성되어있고 파일들 또한 잘 올라가있다.

그런데 IntelliJ에서는 해당 branch가 독립되어있는 상태임
이 경우, git 웹사이트를 통한 Compare & pull request도 제대로 되지 않는다.
fork한곳의 내 branch에다가 PR을 날리려 했는데 되지 않은것임
이 때, 위 사진 하단에 있는 "Sync fork"를 눌러주면 다음과 같은 문구가 뜬다.

이 사진에 대해 설명하면, 이 브랜치가 upstream된 main보다 1개의 커밋이 앞서있고(ahead)
동시에 1개의 커밋이 뒤쳐져있다(behind)고 한다.
그래서 Sync fork를 눌렀을 때
"해당 branch가 최신 업스트림(main)이랑 동일하지 않음. main의 변경사항을 병합하세요!(Update branch)"
라는거임
이 때 Update Branch를 누르면 GitHub에서 자동으로 upstream(내 main)의 최신 커밋을 해당 브랜치로 merge 해준다.
이 말은 즉 pull + merge를 GitHub 웹사이트에서 수행해준다는 의미임
이를 bash 명령어를 통해서 수행할 수 있다고 한다. 순서대로 하면 됨
# upstream이 등록되어있지 않았다면 추가해주기
git remote add upstream https://github.com/<fork받은주소>/<내리포지토리주소>.git
내 경우 git remote add upstream https://github.com/codeit-bootcamp-spring/4-sprint-mission.git 이 되겠지?
# 내 리포지토리의 최신 main을 가져오기
git fetch upstream
# 내 브랜치에 main 내용을 합치기, 병합임
git merge upstream/main
또는, 최신으로 덮어씌우고 싶다면 git rebase upstream/main 을 통해 rebase 해주면 된다고 한다.
이후에 push 해주자.
git push origin 브랜치명
나같은 경우엔 Sync fork를 통해 Update Branch를 누르고 나서, bash를 통해 다음과 같은 과정을 통해 해결했다.
1. git fetch origin

2. git switch 브랜치명 - > git pull --rebase origin 브랜치명 - > git push origin 브랜치명

그리고 IntelliJ를 들어갔다.


그리고 GitHub 웹사이트에 들어가 내가 앞으로 올릴 자료들에 대해 fork받은 곳으로 PR을 날려보았다.

이전에는 변경사항이 없습니다 이러면서 fork받은 곳과 연결이 되지 않았는데, 성공적으로 PR을 생성할 수 있게 되었다.
이후로 내가 해당 branch로 commit하고 push하는 내용들이 PR에 반영되는 결과를 낳는다
이상!
'Git' 카테고리의 다른 글
| [IntelliJ] 프로젝트 생성 후 Git Repository와 연결하기 (0) | 2026.03.26 |
|---|---|
| Bash를 통해 Commit, Push하기 (0) | 2025.11.05 |
| Git clone : 원격 저장소에서 로컬 저장소로 불러오기 (0) | 2025.09.04 |
| Git 병합 : Git merge (0) | 2025.06.09 |
| Git main, develop, feature, release, hotfix (0) | 2025.06.08 |