2.2 Git, GitHub

데이터 여행자·2020년 12월 31일
0
post-thumbnail

GitHub

GitHub은 개발자들이 서로 코드를 공유하고, 협업으로 개발을 진행할 때 소스 코드 버전들을 효과적으로 관리하기 위한 온라인 호스팅 사이트이다.

Git과 GitHub의 차이

Git 은 리눅스를 만든 리눅스 토르발즈 가 리눅스 프로젝트의 코드 버전을 관리하기 위해 만든 소프트웨어이다. 개인 컴퓨터(Local)에서 작업한 내용을 Git에 저장할 수 있다. 반면 GitHub 는 Git을 관리하고 다른 개발자들과 원력(Remote)으로 함께 협업할 수 있도록 도와주는 온라인 서비스이며, GitHub 외에도 GitLab 등과 같은 다양한 서비스들이 있다.

Git 설치하기

터미널을 킨 후 Git의 설치 여부를 확인한다.

$ git--version

Git이 설치되지 않았다면 다음 코드를 통해 설치한다.

sudo apt-get install git

설치된 후에는 Git의 버전을 확인해 본다.

GitHub 시작하기

1) 회원가입

아래의 링크에 들어가서 회원가입을 한다.

GitHub

2) Git에 GitHub 계정 정보 등록

1) Git과 GitHub을 연결

$ git config --global user.email "GitHub에 등록한 이메일주소"
$ git config --global user.name "GitHub의 사용자 이름"

2) Git에 등록한 정보를 자세히 확인

$ git config -l

3) 로컬 저장소

로컬 저장소란 Git이 관리하는 디렉터리를 말한다.

1) 홈 디렉터리로 이동 후, 새로운 폴더(로컬 저장소)를 만들기

$ cd ~
$ mkdir (폴더 이름: workplace1)

2) 만든 폴더로 이동해 Git이 로컬저장소를 관리할 수 있도록 한다. 아래의 명령어를 실행하면 만든 폴더(workplaces)를 새로운 Git 로컬 저장소로 지정하게 된다. 모든 Git 로컬 저장소는 .git 디렉터리를 가지고 있다. 이제 Git이 해당 디렉터리의 변화를 기록할 수 있다.

$ cd (폴더이름: workplace1)
$ git intit

3) 로컬저장소의 숨겨진 내용을 확인

$ ls -a

4) 로컬 저장소에 새로 생긴 .git 디렉터리로 이동하여 내용을 확인

$ cd .git
$ ls

이제 모든 Git 로컬 저장소는 .git 디렉터리를 가진다.

4) 변화 확인

1) README.md 파일 만들기

GitHub 레파지토리에서 레파지토리가 담은 소스 코드들을 소개하는 파일인 README 파일을 만들어 보자. 아래의 명령어는 README.md 파일을 만드는 동시에 파일에 글을 입력하게 한다. echo 는 출력을 명령하고 >> 는 출력할 파일을 지정한다.

$ cd ..
$ echo "(쓰고 싶은 말)" >> README.md

md 라는 확장자는 개발자들이 많이 사용하는 문서작업용 언어인 마크다운(Markdown)을 말한다.

2) README.md 파일에 저장된 내용 확인
파일 목록을 확인하고 cat 명령어로 파일에 저장된 내용을 확인한다.

$ ls
$ cat README.md

3) git 상태 확인
다음 명령어를 통해 Git은 로컬 저장소 내 변화를 확인할 수 있다.

$ git status

4) README.md 파일의 변경사항 저장(add 와 commit)

파일의 변경사항(어떤 작업을 했는지 혹은 작업 일시 등)을 저장하기 위해서는 addcommit 을 사용한다. add 를 통해 추가 및 변경하고자 하는 파일을 먼저 인덱스에 올려놓고(Stage), commit 을 통해 그 변경사항을 확정한다. -m 은 메시지 옵션으로, 해당 commit에 대한 설명을 쓰면 된다. 추가하려는 파일이 많은 경우에는 git add. 를 사용해 폴더의 Untracked Files 모두를 한 번에 stage할 수 있다.

$ git add README.md
$ git commit -m "(파일에 대한 설명)"

5) 원격 저장소(Repository)

로컬 저장소는 내 컴퓨터 내에서 Git을 저장, 작업하는 디렉터리/폴더이고 원격저장소는 GitHub과 같이 협업을 할 수 있는 온라인 플랫폼에 생성한 저장공간이다.

1) GitHub에 원격 저장소 만들기

GitHub에 들어가서 로그인을 한 후, "Start a project"나 "New repository"를 클릭한 후, 원격 저장소의 이름을 입력한다. PublicInitialize this repository with a README 를 선택하고 "Create repository"를 클릭하면 다음과 같은 이미지가 뜬다.

"Code"를 눌러 HTTPS 로 시작하는 원격 저장소의 주소를 복사한 후, 터미널에 입력하여 Git이 원격 저장소의 주소를 알 수 있도록 한다. 주의할 점은 반드시 로컬 저장소 디렉터리(예: workplaces) 안에서 해야 한다는 것이다.

2) 로컬 저장소와 원격 저장소(GitHub Repository) 연동
일반적으로 원격 저장소의 이름을 origin 이라 칭하지만 원하는 이름으로 정해도 된다.

$ cd ~/(로컬 저장소 이름: workplace1)
$ git remote add (원하는 원격저장소 이름: origin) (원격저장소 URL)

3) 로컬 저장소의 자료를 원격 저장소로 보내기
git
$ git push (원하는 원격저장소 이름: origin) 일비(브랜치 이름: master)

여기서 브랜치란 여러 개발자들이 동시에 독립적으로 작업을 할 수 있게 만드는 기능이다. 작업을 마친 후에는 다른 브랜치와 병합하여 하나의 브랜치로 모을 수 있다. 원격 저장소를 만들면 기본적으로 master 브랜치가 생성되지만(원격저장소에서 default 브랜치 이름을 확인해보자), 다른 브랜치로 push하고 싶으면 브랜치 이름을 바꿔서 명령어를 실행하면 된다.

4) 원격 저장소의 자료를 로컬 저장소에 가져오기(clone)

먼저 자료를 다운로드할 로컬 저장소를 만들어 이동한 후, 원격 저장소의 자료를 가져온다.

$ cd ~
$ mkdir (저장할 디렉터리 이름: workplace2)
$ cd (저장할 디렉터리 이름: workplace2)
$ git clone (원격 저장소 URL)

자료를 가져온 후에는 제대로 복사가 되었는지 확인해 본다.

$ ls
$ cd (저장한 디렉터리 이름: workplace2)
$ ls
$ cat README.md

5) 로컬 저장소에서 README.md 파일 수정 후 다시 원격 저장소에 올리기

먼저 README.md 파일이 있는 로컬저장소로 이동한다.

$ cd ~/(폴더 이름: workplace1)

README.md 파일을 수정한다.

$ echo "(수정할 내용)" >> README.md

결과를 확인해 본다.

$ cat README.md
$ git status

인덱스에 파일을 추가한다(stage).

$ git add README.md

변경사항을 저장한다(변경사항을 적을 것이 없다면 -m 부터 생략가능).

$ git commit -m "(파일 변경사항)"

변경된 파일을 원격 저장소로 전송한다.

$ git push (원격 저장소 이름: origin) (브랜치 이름: master)

6) 로컬 저장소를 원격 저장소와 같게 업데이트하기(pull)

처음에 만든 로컬 저장소의 내용은 자동으로 업데이트되지 않는다.

$ cd ~/workplace1
$ ls
$ cat README.md

로컬 저장소를 원격 저장소와 같게 업데이트한다.

$ git pull (원격 저장소 이름: origin) (브랜치 이름: master)
$ cat README.md

  • 더 알아봐야 하는 것: fork(손님으로 작업), pull request 등

0개의 댓글