상세 컨텐츠

본문 제목

Git - GitHub에 push와 pull 해보기

카테고리 없음

by maymj9798 2024. 7. 14. 13:24

본문

#GitHub



-지금까지 작업한 모든 사항인 레퍼지토리를 외부-구글같은 곳에 저장하는 장소입니다.

-깃허브 홈페이지 : https://github.com/



#레파지토리 생성

먼저 우측상단의 + 버튼을 눌러 새로운 레파지토리를 만듭니다.

다음으로 레파지토리 이름과 설명, 공개여부를 설정하고 생성하면, 새로운 레파지토리가 만들어집니다.

깃허브에서 만들어진 레파지토리는 리모트 레파지토리라고 부릅니다.

반대로 컴퓨터의 레파지토리는 로컬 레파지토리라고 합니다.



#로컬 레파지토리 올리기

노랑박스 부분은 새로 만들기 후 올리기 / 초록박스는 이미 만든거 올리기 입니다.

보시면 두 박스 모두 아래 두줄이 동일하죠 ?

이 부분을 컴퓨터에서 그대로 터미널에 써주면 자동으로 깃허브에 레파지토리가 올라가게 됩니다.

 

git remote add origin https://github.com/ckx9798/Math_box.git

git push -u origin main

 

해당 내용을 터미널에 차례로 입력해주면 

아이디, 패스워드 입력창이 나옵니다. 깃허브 아이디로 해주시면 됩니다 ! 

이러면 원래 컴퓨터에서 작업했던 로컬 레파지토리 와 동일한 파일을 깃허브에 올리게 된겁니다

올라간 파일은 리모트 레파지토리라고 부릅니다.

 

(*자주나는 오류 : 위에 과정인 add 를 안하고 업로드만 하면 오류가 나옵니다. 반드시 add를 통해서 커밋을 하고 진행 해주세요!  add가 안되어있으면 오류가 발생합니다.)




# git push

 

이제 깃에 리모트 레파지토리가 생성 되었습니다.

이 상태에서 로컬 레파지토리에서 새로운 파일이나 내용을 수정하면, 리모트 레파지토리에는 올라가지 않습니다. 여기서 필요한게 푸시입니다.

git push

를 작성하면 로컬 레파지토리의 내용을 그대로 리모트 레파지토리에 반영한다는 의미입니다. 

푸시를 성공하면 로컬 내용이 깃허브에 그대로 반영됩니다.

 

다시 순서를 상기 시켜보면

파일수정 - 저장 - git add . 으로 스테이징 - (git status확인) - git commit -m “ ” 커밋하기 - git push



# git pull

 

그럼 반대로 깃허브에 있는 리모트 내용을 로컬로 받아오려면 어떻게 해야 할까요?

먼저 깃허브에서 리모트 내용을 수정해보겠습니다.

연필 모양을 누르고 수정합니다. 수정 완료 후에는 하단에서 커밋을 진행합니다. 

첫번째 박스는 간단 내용, 두번째 박스는 상세 내용입니다 (상세는 필수아님)

현재 상태는 깃허브 내용이 컴퓨터 내용보다 앞선 상태입니다.

여기서 git pull을 통해 내용을 땡겨오겠습니다. 쓰는 순간 내용이 pc에 저장이 됩니다.

cat 파일명을 통해 확인도 가능합니다.



# 리모트 레파지토리를 쓰는 이유??

 

첫번째로는 안전성 입니다. 

pc를 못쓰는 외부 환경이나, pc 고장 및 분실의 경우를 방지 할 수 있습니다.

두번째는 협업입니다.

push 와  pull을 통해 타인과 공동개발이 가능해집니다.



# git push 의 권한

 

아무나 push 가 가능하면 파일이 난장판이 되겠죠. 그래서 권한 부여 설정이 필요합니다.

깃허브에서 리모트 레파지토리 의 setting을 확인해보면

PUBLIC REPOSITORY 라고 되있으면 모두가 볼수 있고 다운가능하지만, push는 불가한 상태입니다.

콜라보에서 중앙 탭에 add people로 권한 부여가 가능합니다.

초대를 보내면 pending invite 상태가 됩니다. 상대가 수락을 하면 하단에 해당 사용자가 뜨게 되면서 push권한이 부여됩니다.







# git clone - 다른 사람 레파지토리 가져오기

 

깃허브 메인에서 좌측을 눌러보면 Explore 메뉴가 나옵니다. 이걸 누르면 다양한 프로젝트를 볼 수있습니다.

이렇게 프로젝트의 코드를 공개 해놓은 것을 ‘오픈소스 프로젝트’ 라고 합니다.

가져오고 싶은 프로젝트를 선택 후 들어가서 하단의  README를 보면 어떤 내용인지, 어떻게 사용하는 지 등의 정보를 얻을 수 있습니다.

해당 프로젝트를 가져오기 위해서는 우측 상단의 CODE를 누르고 주소를 가져와야 합니다

주소를 가져왔으면 터미널로 이동합니다.

여기서 주의할 점! 

현재 있는 폴더를 반드시 확인해야 합니다. 만일 지금 작업 중인 레파지토리라면 충돌이 일어나겠죠?

현재 저는 Mathtool에 있으니 상위 폴더로 이동하고

git clone 주소입력 

을 통해  위 프로젝트를 가져오겠습니다.

이후 cd 레파지토리명으로 이동 후, 작업을 하시면 됩니다.



**아래는 유명한 오픈 소스 코드입니다



# README 꾸미기

 

리드미는 프로젝트를 설명하는 가장 기본이 되는 것입니다. 

얼굴과 같은 역할이기 때문에 이쁘게 꾸미는것 또한 중요하죠. 

README.md 파일명 뒤에 붙은 md는 마크다운을 의미합니다.

‘마크다운’은 간단한 규칙과 텍스트만으로 자동으로 html 태그로 전환해주는 역할을 합니다.

https://ko.wikipedia.org/wiki/%EB%A7%88%ED%81%AC%EB%8B%A4%EC%9A%B4