Github에 대하여 알아보자

김현우·2020년 8월 2일
0

git & github

목록 보기
2/3

GitHub란 무엇일까?

Git repository를 위한 호스팅 플랫폼

1. Git vs GitHub

Git은 버전 관리 시스템으로, 시간이 지남에 따라 파일의 변경 사항을 추적하는 도구
GitHub은 Git을 사용하는 프로젝트를 위한 호스팅 서비스

GitHub을 이용하여 로컬 프로젝트 repository를 원격 클라우드 기반 GitHub 저장소에 업로드 할 수 있고, public repository 들을 통해 다른 개발자들과 교류가능!


2. GitHub 사용법

내 로컬 Repository를 GitHub 에 push 하기

  1. 로컬에서 add / commit
  2. Github 으로 이동 후 새 repository를 생성
  3. 나의 로컬 repository 를 GitHub repository 와 연결 (remote 추가)
  4. 새 remote 를 이용하여 코드를 Push

2-1 repository 생성

github 사이트에서 'New repository' 라는 옵션을 선택


2-2 repository 에 코드 push 하기

git remote add origin https://github.com/<your-username>/<your-repo-name>.git

git remote add origin 명령어는 내 컴퓨터에 있는 로컬 repository 와 방금 만든 GitHub repository 를 연결해준다.

이름이 꼭 origin 이어야 하지는 않지만 보통 remote 주소가 한개라면 origin 이라고 지어준다.

git push -u origin master

로컬 Git repository 의 코드를 GitHub repository 로 업로드 해줌.


2-3 repository 에 변경사항 남기기

push 까지 했다고 로컬에서 작업한 내용들이 자동으로 remote 에 반영되는 것은 아니다.
변경사항이 있으면 다시 push 를 해줘야 GitHub repo 가 업데이트 됨.

git add .
git commit -m "Change greeting"

하고나서,

git push origin master

를 해주면 끝~


2-4 repository 클론하기 (clone)

GitHub repo 를 먼저 생성한 뒤 clone 을 받아 내 로컬환경에 다운로드 후 프로젝트를 시작하는 방법

repository 를 clone 하기 위해서 'Clone or download' 라는 초록색 버튼을 누른 뒤 아래 복사 아이콘을 클릭

git clone <github-repo-link>

다운로드 받고 싶은 경로로 이동한 뒤 git clone 명령어에 방금 복사해준 URL 을 붙여주고 실행


3. Branching and merging

일반적으로 GitHub repository 의 master 브랜치는 항상 잘 작동하고 안정적인 버전의 코드를 포함하고 있어야 합니다. 하지만, 테스트를 아직 해보지 않았거나, 새로 추가한 기능을 GitHub repo 에 push 하고 싶을때 Branch가 필요함.


3-1. GitHub 에 브랜치 push 하기

git checkout -b <원하는 브랜치 이름>

git add .
git commit -m "Add: greetings"

커밋 절차 실행

git push origin <원하는 브랜치 이름>

이제 push를 통해 브랜치를 remote 로 올려줄 차례


3-2 Pull Request (PR) 생성하기

커스텀 브랜치를 push 하고 master 브랜치에 적용될 준비가 되었다면, Pull Request (PR) 라는 것을 통해 프로젝트 오너 (혹은 팀 리더) 에게 내가 작업한 브랜치의 작업내용을 master 브랜치에 반영해달라는 요청을 보낼 수 있다.


3-3. Conflicts (충돌)

어떤 파일의 변경사항이 기준이 되는 master 브랜치의 파일과 겹쳐, Git 에서 어떤 버전의 코드를 선택해야하는지 모를 때 발생.

개발자가 직접 코드를 비교해 충돌을 해결하고 merge 를 마무리 해야함.


3-4. GitHub 으로부터 변경사항 pull 하기

git pull origin master

Pull Request 를 통해 master 브랜치를 업데이트했다면, 이제 로컬 repository 는 GitHub 에 있는 master 와 서로 다른 내용을 가지고 있게 됩니다. 이 때 git pull 명령어를 통해 remote 의 최신화된 코드를 내 로컬 repo 에 반영

profile
코딩을 잘하는 개발자가 되자!

0개의 댓글