티스토리 뷰

Git

[Git] git과 github 사용하기

sukvvon 2021. 4. 24. 20:25

[Git] git과 github 사용하기

git이란?

https://git-scm.com/

git은 리누스 토발즈가 개발한 분산형 버전 관리 시스템(VCS)입니다.

git의 장점

매우 빠른 속도와 분산형 저장소를 지원한다는 장점이 있기에 많은 개발자들이 Git을 사용하여 관리합니다. git을 대표적으로 github와 연동하여 개인 프로젝트를 혼자 관리할 수 있고, 혹은 다른 팀원들과 협업을 할 수도 있으며, 개인적으로 굳이 남들에게 공개하지 않고도 private 하게 이용할 수도 있습니다.

github란?

https://github.com/

GitHub is how people build software
GitHub는 사람들이 소프트웨어를 개발하는 방법입니다.

대표적인 무료 git 저장소로 2008년에 공개되었습니다. git의 호스팅 기능 덕분에 다른 유사 사이트와 다르게 크게 성장하고 유명해졌습니다. 그에 더해 마이크로소프트의 인수로 더욱 더 강력해지고 대부분의 유저가 사용하는 기능들은 모두 무료로 이용할 수 있기 떄문에 개발자들의 인스타그램이라고도 할 수 있습니다. 협업을 진행하기도 하고 개인 프로젝트를 진행하기도 하고 정말 많은 사람들이 수 많은 레파지토리를 올리며 공유하고 서로 소통하는 장이라고 할 수 있습니다.

install git

https://git-scm.com/

macOS 의 경우는 기본적으로 내장이 되어 있지만 window와 linux 시스템 같은 경우는 git을 다운받아야 합니다.

repository를 처음 만들었을 때 github에서의 메뉴얼입니다. 이 메뉴얼을 참고하여 명령어의 의미들을 바탕으로 설명을 하려고 합니다.

git echo "your project" and add README.md

echo "#your project" >>README.md
git add README.md

echo "#_your project_" >>README.md 명령어를 통해 README.md 파일을 생성하고 git add README.md 명령어를 통해 README.md 파일을 index(stage) 로 올리라고 메뉴얼에 나와있지만 굳이 처음부터 생성하고 add 하여 index(stage) 로 올릴 필요는 없습니다. 자신이 작업을 하다가 혹은 작업을 완료 한 후 등 자신이 원할 때 README.md 파일을 만드셔도 됩니다.

필자는 echo "#your project" >>README.md, git add README.md 과정을 생략하고 git add -A 명령어를 사용할 것입니다.

git config & init

git init

git init

git init 명령어를 통해서 자신의 파일을 git의 영역하에 들어오도록 합니다. 필수로 이 명령어를 실행해야지만 차후 모든 git 관련 명령어를 실행 할 수 있습니다.

git config --global

git config --global user.name "user name"
git config --global user.email "user email"

우선 먼저 자신의 Mac에 전역적으로 자신의 사용자 이름사용자 이메일을 전역적으로 설정을 합니다.

전역적으로 설정을 할 경우 git log를 보았을 때 자신이 commit한 항목은 자신의 사용자 이름과 사용자 이메일이 전역적으로 설정한 컴퓨터에 한하여 설정한 email과 name로 표시가 됩니다. 더 나아가 그룹으로 작업한 것일 경우 타인과 자신이 한 것을 구분할 수 있습니다.

git add & commit

git add -A

git add -A

git init을 한 후 git add -A 명령어를 통해서 모든 파일을 업로드를 한다는 의미입니다.

현업에서는 git add-A 명령어를 지양하고, git add . 혹은 git add * 를 많이 사용합니다. 우선 처음 올리는 것이기 때문에 git add-A 를 실행하여 현재 working dir 안에 있는 모든 파일을 index(stage) 로 올립니다.

git commit -m "first commit"

git commit -m "first commit"

git add -A 를 한 후 index(stage) 영역에 있는 파일을 ''처음 올린다'' 라는 뜻의 first commit 이라고 제목을 정하고 커밋을 함으로써 HEAD 영역으로 올립니다.

처음 올린다고 무조건 이름이 first commit 일 필요는 없습니다. 각자 기호에 맞게 자신이 식별할 수 있는 다른 명칭을 사용하셔도 됩니다.

git branch -M main

git branch -M main

branch분기한다는 의미입니다. 처음 repository를 만드는데 굳이 main 으로 분기 할 필요가 없습니다. 생략하셔도 무방하다고 생각합니다.

git remote & push

git remote add origin https://~

git remote add origin https://github.com/your repository

자신의 git 내부 레파지토리와 github의 외부 레파지토리연결 하는 것입니다.

자신의 내부 레파지토리에서만 관리하던 것을 git remote add origin https://github.com/your repository 명령어를 통해서 github의 외부 레파지토리로 연결하여 자신의 프로젝트를 공개하거나 협업을 진행할 수 있습니다.

git push -u origin master

git push -u origin master

최초만 사용하고, 그 후 git push 명령어만 사용 가능합니다.

git remote add origin https://github.com/your repository 명령어를 통해 내부와 외부 레파지토리를 연동을 시킨 후 최초내부 레파지토리에서 외부 레파지토리commit하여 HEAD 에 있는 정보를 보낼때는 git push -u origin master를 사용하고, 그 후 push를 할 경우 이미 origin masterpush를 한 흔적이 있어 git push 만 사용해도 됩니다.

이미지에서는 main 을 사용하라고 github에서 명시를 해 놓은 것 같으나 저는 예전 표준으로 쓰이던 master 라는 명칭을 사용하도록 하겠습니다.

github 환경설정을 들어가시면 master , main 말고도 사용자가 원하는 명칭으로 설정을 하실 수 있습니다. github에서 저장한 그 명칭으로 자동 설정되는 것이지 꼭 설정한대로 해야 하는 것은 아닙니다.

댓글