목차
- 푸시
- 패치
- 풀
- 풀 리퀘스트
<푸시>
원격 저장소에 로컬 저장소의 변경 사항을 밀어넣는 행위이다
먼저 로컬 저장소에서 변경사항을 만든다. (폴더에 a.txt 파일을 추가하고 커밋함.)
상단에 Push 버튼을 누른다.
푸시 후 아래와 같이 바뀌는 것을 볼 수 있다.
참고로 <> Code 밑에 있는 시계아이콘+n Commits 를 누르면 깃허브에서 모든 커밋을 볼 수 있다.
<패치>
이 패치는 patch가 아니고 fetch다.
원격 저장소의 변경 사항을 가지고 오는 것. (협업 시 누군가가 푸시한 내용을 가져오려고 하기 위해.)
먼저 깃허브에서 b.txt 파일을 수정한다.
Commit changes를 누르면 변경됨. 이제 소스트리에서 패치를 누른다.
이렇게 아래와 같이 b의 변경사항을 가져온다.
근데 병합은 안된 상태라서 main이 따로 동떨어져있는 것을 볼 수 있다. 병합을 해준다.
그러면 이렇게 병합이 된다.
로컬 저장소의 b.txt 파일이 수정된 것을 확인할 수 있다.
<풀>
패치와 병합을 동시에 하는 방법.
병합 부분을 제외하면, 패치랑 동일함.
원격저장소에서 c.txt를 만들고 pull 해줬더니 병합하지 않아도 바로 로컬저장소에 병합됨.
<풀 리퀘스트>
다른 사람의 계정으로 만들어진 레포지토리에 변경사항을 만들고 허가를 받는 것이다.
방식 1 (비추)
여기서 Add People로 collaborator를 설정하면, 설정한 사람들만 해당 레포지토리에 변경사항을 마음대로 할 수 있다.
그치만 변경사항 반영 요구 -> 수락 -> 반영 이 아닌
마음대로 바로바로 반영이 되는 단점이 있음. (아마도?)
방식 2 (정석)
순서
1. 내 계정으로 포크
2. 원격 저장소 -> 로컬 저장소로 클론
3. 브랜치 생성 후 생성한 브랜치에서 작업
4. 변경사항 커밋
5. 로컬 저장소 -> 원격 저장소로 푸시
6. 깃허브에서 풀 리퀘스트 보내기
1. 먼저 누군가의 원격 저장소에 들어간다. 오른쪽 상단의 Fork 클릭.
2. 내 원격 저장소로 들어갔으니 이제 로컬 저장소로 클론.
3. 작업하기 전에 브랜치 새로 만듦.
4. 해당 로컬 저장소 폴더에 들어가서 변경 사항을 만든다.
index.html을 메모장이든 vs code든 열어서 아래와 같이 본인 아이디를 추가하라고 함.
5. 변경사항 커밋 후 원격 저장소로 다시 변경사항을 보내야하므로 푸시.
6. 깃허브에 내가 가져온 레포지토리를 보면 아래와 같이 Compare & pull request 버튼이 생긴 것을 볼 수 있다. 누른다.
아래와 같이 뜸. 여기서 밑으로 스크롤하면 어떤 변경사항을 풀 리퀘스트 하려는지 보여주니까, 하기 전에 한 번 확인하는 게 좋음.
7. 그러면 이렇게 풀 리퀘스트 메뉴에서 내가 한 것을 볼 수 있다.
아직 변경사항 수락을 받기 전에는 아래와 같이 Open으로 뜬다.
수락을 받고 나면 아래와 같이 Merged로 뜬다. (오 이거 작성하는 동안 됨.)
생각보다 간단했다. 너무 어렵게 생각했나봄.
1. 내 계정으로 포크
3. 브랜치 생성 후 생성한 브랜치에서 작업
6. 깃허브에서 풀 리퀘스트 보내기
이 부분만 빼면 혼자서 작업하는 거랑 똑같음.
'TIL > 깃&깃허브' 카테고리의 다른 글
모두의 깃&깃허브 7장_명령어로 버전 관리하기 2 (0) | 2024.09.07 |
---|---|
모두의 깃&깃허브 6장_명령어로 버전 관리하기 1 (0) | 2024.09.06 |
모두의 깃&깃허브 5장_깃허브로 협업하기 (1) (0) | 2024.08.31 |
모두의 깃&깃허브 4장_브랜치로 나누어 관리하기 (0) | 2024.08.28 |
모두의 깃&깃허브 3장_버전 가지고 놀기 (0) | 2024.08.24 |