본문 바로가기

Git & GitHub & sourceTree

GitHub(2)

⭐⭐이번 내용은 중요하니까 나도 계속 적으면서 다시 정리를 하자!


정의

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를 하고나서 origin이 바뀐것을 확인 할 수 있다.

▷원격저장소의 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