GitHub 시작하기

Joon_yyy's velog·2022년 10월 28일
0

Git 정복하기

목록 보기
2/5

2일차 GitHub 시작하기🧐

GitHub에 대해

💻Codeit에서 교육하는 커리큘럼을 바탕으로 정리하였다.
본인은 이미 GitHub 계정이 있기 때문에 바로 Remote Repository를 생성해보았다.
우선 GitHub는 프로젝트 디렉토리에서 작업하던 것을 외부의 컴퓨터로 전송하는 것으로, 레포지토리를 전송한다는 것이다. 레포지토리에는 프로젝트 디렉토리에 있는 모든 것들에 변경이력이 담겨있다. 외부 컴퓨터로 전송한다면 내 컴퓨터에서 하던거처럼 작업도 가능하고, 버전관리도 가능하다.

이러한 외부 컴퓨터를 GitHub는 무료로 서비스를 제공한다.👍👍👍

저번에 배웠던 MathTool 디렉토리에 있는 것들을 깃허브로 옮겨보자!

New를 클릭해서 레포지토리 이름과 Description에 간단한 설명을 적고 비어있는 레포지토리를 만들자.

Local Repository의 내용을 Remote Repository로 보내기

GitHub의 레포지토리를 리모트 레포지토리로 부르고 내 컴퓨터의 레포지토리는 로컬 레포지토리라 부른다. 나는 이미 저번 시간에 로컬 레포지토리를 생성했기 때문에 그대로 GitHub에 업로드 할 것이다.

이미 만든 로컬 레포지토리를 깃허브에 업로드 하기 위해 저기 초록 박스 안의 코드를 터미널에 한줄 한줄 순서대로 타이핑 하면 된다.
(각각 자기 레포지토리에 나와있는 코드를 작성해야 한다.)

여기서 나만의 오류가 발생했다.😱

$ git push -u origin main

갑자기 강의와는 다르게 계정 비밀번호를 타이핑해도 저런 문구와 함께 GitHub에 업로드가 되지 않았다. 멘붕이 와서 바로 구글링을 했더니 예전과는 방식이 바뀌었다.

새로운 GitHub 업로드 방법👏

  1. 계정에서 Settings 클릭
  2. Settings에 들어가서 좌측 아래 Developer settings를 클릭
  3. Personal access tokensTokens(classic)를 클릭 후 토큰 생성하기

타이핑 이후 계정과 계정 비밀번호를 타이핑했던 예전과는 다르게 이제는 계정 비밀번호에 자신이 생성한 토큰을 비밀번호란에 타이핑해야한다.

이 후 이제 제대로 생성된 나의 리모트 레포지토리가 보였다!!

Local Repository에서 바뀐 내용을 Remote Repository에도 반영하기

우선 로컬 레포지토리에 README.md 파일을 생성한 후

$ git add .
$ git commit -m "README.md" 새로운 커밋 실행

이제 로컬 레포지토리를 리모트 레포지토리에 반영하기 위해

$ git push

이 후에 GitHub를 새로고침하면

반영된 것을 볼 수 있다.👏👏👏 기쁘다. 하나씩 알게되어 가는 점이 너무 기쁘다.

Remote Repository에서 바뀐 내용을 Local Repository에도 반영하기

$ git pull

이번에는 GitHub에서 수정을 한 후 로컬 레포지토리로 옮기는 방법이다.
왜 리모트 레포지토리에서 수정을 하는 방법을 사용하는 것일까?
1) 안전성 문제이다. 로컬 레포지토리인 내 컴퓨터에 오류가 생기거나 레포지토리가 어떤 이유로 사라질 수 있다.
2) 협업이 가능하다. 다른 개발자가 나의 리모트 레포지토리를 git pull해서 수정한 후 다시 git push할 수도 있기 때문이다.

하지만 아무나 git push를 할 수 있는 것은 아니다. git push는 원래 리모트 레포지토리의 주인인 본인만 가능하다. 만약 다른 사용자도 git push를 할 수 있게 하려면 GitHub에서 추가 작업을 해줘야한다.

레포지토리의 Settings 탭을 선택 후 왼쪽의 Collaborators를 선택해 Add people을 선택해 다른 개발자들을 초대하면 나의 리모트 레포지토리에 git push할 권한이 생기게 된다.

다른 프로젝트 가져오기

GitHub 홈페이지에서 검색을 통해 다양한 레포지토리를 검색해보자.
나는 numpy 코드를 가져와보았다.

그림대로 저 주소를 복사한 후

$ git clone '복사한 주소'

그러면 GitHub 프로젝트의 레포지토리를 그대로 복제가 가능해진다.
(나는 MathTool 디렉토리에 있었기 때문에 부모 디렉토리로 이동후 가져왔다.)

이처럼 GitHub에는 훌륭한 프로젝트들이 많이 있는 사이트이다. 실력있는 개발자들이 만든 코드를 자유롭게 살펴볼 수 있고, 공부할 수 있다. 그래서 개발자들에게 이만큼 좋은 공부 장소는 없다. 내가 관심있는 분야의 코드를 분석하고, 더 나아가 오픈 소스 수정에 기여할 수 있다면 개발자로서 엄청난 성장을 하게 된 것이고, 또한 GitHub의 계정 정보에 다 기록되기 때문에 훌륭한 이력이 된다.

오픈소스란?
GitHub에는 훌륭한 프로젝트들이 많이 있고, 대부분 소스 코드가 공개되어 있다. 이렇게 공개되어 있는 프로젝트를 '오픈 소스 프로젝트'라 하는데 대중에게 공개된 상태를 말한다.

오늘의 정리💪

생각보다 쉬울 줄 알았던 GitHub 사용법이 엄청나게 어렵다는 것을 알게 되었고, 그래서 공부를 Codeit에서 시작하게 되었다. 처음으로 로컬 레포지토리를 리모트 레포지토리로 올렸다는 나 자신에 매우 기쁘고 하루하루 나아지고 있다는 점이 매우 기쁘다.

0개의 댓글