⭐⭐이번 내용은 중요하니까 나도 계속 적으면서 다시 정리를 하자!
정의
1.clone
:원격 저장소를 복제하기 (원격저장소를 복사해서 내 컴퓨터로 가져온다 , 다운로드)
2.push
: 원격 저장소에 밀어넣기 (로컬 변경사항 커밋등을 원격저장소에 업로드한다.)
3.fetch
: 원격 저장소를 일단 가져만 오기 ( 원격저장소 변경사항을 일단 가져만 오기....?)
4.pull
: 원격 저장소를 가져와서 합치기 (원격 저장소의 변경사항을 내가 한 커밋들과 합치는 것)
(1)clone
다른 사람들의 깃허브에서 ssh를 가져와서 소스트리에 복제하면 이때까지 했던 커밋들을 확인가능하다.
▷main == master
origin == 원격저장소에 붙은 일종의 별명 : #8 설정에 들어가면 이름이 origin인것을 확인 할 수 있다.
origin / HEAD == 원격저장소 orgin의 HEAD (원격저장소가 가르키는HEAD입니다.)
origin/main == 원격저장소 origin의 main branch이다
처음에 이런게 붙어있으니까 더 정신이 없고 뭐가뭔지 몰랐는데 이해하고 나서 보니까 한결 편한...ㅎ
(2)push
😗참고로 내가 소유한 repository에만 push를 할 수있다!!!
로컬에서 내가 했던 커밋들을 레포지토리에 올려주는 것임
▷원격저장소의 main branch에 push 한것을 볼 수 있다.
🚩다른방법
만약에 내가 로컬저장소에 많은 커밋과 브랜치들이 이미 있는 상태에서 새로운 저장소에 push 를 하고 싶을 경우
내 레파지토리의 ssh를 들고와서 소스트리의 설정에 orgin(원격저장소 주소) +ssh주소 넣어주고 추가해준다.
그리고 push해주면 새로운 저장소에 들어가있는것을 확인할 수 있다.
(브랜치가 두개라면 브랜치를 선택할 수 있게 뜸)
(3)fetch
:원격저장소를 일단 갖고만 온다.(내 로컬 브랜치에 병합은 하지않지만 일단 가져온다는 뜻)
다른 사람이 만든 작업을 가져오고는 싶지만 내 작업물에는 영향을 안끼치고 싶을때 사용한다.
아직까지 제일 이해가 안되는...?ㅋㅋ 써보면 알겠지
원격저장소에 파일을 올려서 커밋을 4개로 만들어 주고 fetch를 하면 내 지금 탐색기는 커밋이 3개라고 뜨지만
로컬화면에는 커밋4개가 되어있음(화면에만 나온다는거)
(4)pull
:fetch와 merge를 합치는 방식 ( 가져오는 순간 내 작업물과 함께 저장이 된다.)
Pull Request
:협업을 위한 방법
▷일반적으로 내가 소유하지 않은 원격저장소에 푸쉬할 수 있을까...??
👉NO (일부는 다른사람들에게 push권한을 줘서 할 수는 있음)
원격저장소에 내 변경사항을 push하도록 요청을 보내는 방식
(그니까 원격저장소를 가진 사람에게 내 정보를 올려달라고 요청을 보낸다라고 생각하면 편할듯)
=> 그 저장소를 가진 주인이 수락,거절을 선택할 수 있음
<풀리퀘스트를 실습>
목표 : 튜터님의 저장소에 li로 내 이름 보내기
▷풀리퀘스트 5단계
1.기여하려는 저장소를 본인계정으로 포크(fork)하기❗
: fork는 내소유가 아닌 저장소를 똑같이 복사해와서 내 저장소로 가져오는거
그렇타면 fork를 왜 필요할까....? push가 가능하도록 할려고 (복사본이 생기면 나한테 저장소가 생기니까)
2.포크한 저장소를 클릭하기
:원본을 클론하면안된다!!!!!! 복사본 클론해야댐! + fork한 저장소 이름 밑을 보면 fork from~이라고 적혀있음
소스트리에서 리모트 누르고 내 저장소 클론해오면된다 (앞서서 해봤쟈나)
3.브랜치 생성 후 생성한 브랜치에서 작업하기
4.작업한 브랜치 push하기 + 내 깃허브에 잘 올라갔는지 확인
5.풀 리퀘스트 보내기
+만약 PR를 받아줘서 merge된다면 내 branch는 삭제하는 것이 좋다.
이번 미니프로젝트에서 PR을 많이 쓰게 되면서 깃허브 공부의 덕을 많이 봤다..🤩
내가 PR의 요청을 받아 merge하기로 했었는데 공부를 통해서 보내도 보고 요청도 받아보니까 확실히
이해가 더 잘되었던 것 같다. 역시 해보는게 중요해..🔥🔥😎
'Git & GitHub & sourceTree' 카테고리의 다른 글
GitHub(1) (0) | 2022.11.06 |
---|---|
브랜치란?(1) (0) | 2022.11.02 |
브랜치 실습 때리자(2) (0) | 2022.11.02 |
Git(2)✍️ (0) | 2022.11.02 |
Git🤔 (0) | 2022.11.02 |