일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- commit
- REST
- 푸쉬오류
- Github
- functinon
- git
- SourceTree
- Mac
- create UI
- Python
- udemy
- remote : Invalid username or password
- 알고리즘
- 잃어버린괄호
- Nodejs 교과서
- 풀리퀘스트
- BOJ
- IOS
- 백준
- mysql
- SWIFT
- 파이썬
- Push
- 깃
- APP
- algorith
- 소스트리
- nodejs
- Listing Data on IOS
- HTTP
- Today
- Total
YoonC
[Git&GitHub] Git study 3WEEK 본문
포크 : 저장소 통째로 복사하기
- 오픈소스에 기여하고 싶지만 저장소의 푸시 권한이 없으므로 포크 기능을 사용
- 포크로 저장소를 통으로 내 계정에 복사해서 내 저장소에서 자유롭게 커밋, 푸시한다
- 이후 내 저장소의 브랜치와 기여하고 싶은 저장소의 브랜치를 머지해달라고 요청(PR) 하면 됨
저장소를 통으로 내 계정에 받아오는 방법은 다음과 같다 >
위에서 복사한 주소를 소스트리에서 새로만들기 - url에서 복제 클릭후 다음 화면처럼 원본 URL에 입력해주면 복제가 됨
👉🏻 단, 원본 저장소의 변경점을 보고싶다면 새롭게 저장소를 추가해주어야 한다
: 소스트리에서 새원격 - upstream으로 원본저장소의 url을 입력해주면 원본 저장소의 변경 이력을 볼 수 있음
풀 리퀘스트
- 포크에서 추가한 커밋을 원본 저장소에 머지해달라고 요청을 보내는 것으로 편지 쓰는 것과 같은 역할을 함
- How : 머지하고 싶은 두 브랜치를 택하고 어떻게 변경했는지를 제목과 내용에 쓰면 됨
단일 저장소에서 보낼 수도 있고 포크한 저장소에서 보낼 수도 있음
- 코드를 함께 작성하는 팀원이 있다면 PR을 이용할 것을 권장 => 동료가 코드 리뷰O, 수정 필요하면 change request 보낼 수 있음
- 오픈소스에 PR을 보낼땐 기여 안내문서를 반드시 참고해서 보낼것을 권장
과정은 다음과 같다 >
이후 풀 리퀘스트를 보낸 milooy/Boxiting의 Pull requests를 보면 요청들을 볼 수 있음
어맨드 (amend)
- 깜빡하고 수정 못한 파일이 있을 경우, 방금 만든 커밋에 살짝 추가함
- 이전에 올렸던 커밋을 수정하는 변경사항이기 때문에 주의 메세지가 뜸! 이력을 변경하는 깃 명령어들은 혼자 쓰는 브랜치에서 할 것을 명심하자!
스태쉬 (stash)
- 변경 사항을 당장 커밋을 안하고 잠시 킵해둘때 사용
- 예) 급한 버그가 생겨서 지금 하던거 중단하고 해당 사항부터 고쳐야함. 이때 지금 브랜치에서 커밋 못한 파일들은 어떡해? 다른브랜치로 가야대는데 날려?)
- NO! 변경사항들을 만들고 그들을 stash로 서랍에 넣어두는것
리셋 (reset)
- 옛날 커밋으로 브랜치를 되돌리고 싶을 경우 사용
파괴적인 푸시의 경우에는 푸쉬를 하려면 에러가 날 것임 이땐 푸쉬하기 위해서 강력푸쉬(force push)를 사용해야함
- 단! 혼자 쓰는 브랜치에서만 해야한다는걸 명심하세요!
- Sourcetree - 설정 - 고급 - 강제 푸쉬를 허용을 선택하고 푸시할때 강제푸쉬를 누르고 하면 됨
리버트 (revert)
- 커밋의 변경사항을 되돌리고 싶을 경우에 사용
- reset의 경우엔 히스토리를 아예 초기화 시키는 것이고 revert는 히스토리를 새로 쌓으면서 변경하는 것
- 예) 마스터에 잘못된 커밋을 올려버렸을 경우 다른 사람들이 보고있다면 이력을 force push하면 conflict가 발생할 수 있기 때문에 revert 해줌
체리픽(cherry-pick)
- 여러 커밋중 내가 원하는 커밋 하나만 떼어서 지금 브랜치에 붙이고 싶을 경우에 사용
- 예) 어제 릴리즈한 A 브랜치에 버그가 있어서 일단 B 브랜치에서 버그를 고쳐서 master에 머지했음
master에 다른 수정사항도 너무 많아서 A랑 당장 머지할 수 없을 경우
내가 고친 코드가 있는 커밋을 똑 떼어서 A에 붙여주면 된다구 이게 🍒 체리픽
'Git&GitHub' 카테고리의 다른 글
[Git&GitHub] VSCode 5k 없애기 (delete vscode git 5k) (0) | 2021.06.30 |
---|---|
[Git&GitHub] 소스트리 오류 - push (0) | 2021.05.11 |
[Git&GitHub] Git study 2WEEK (0) | 2021.05.11 |
[Git&GitHub] Git study 1WEEK (2) | 2021.05.05 |
[Github] VSCODE 와 Github 연동 (3) | 2021.03.29 |