본문 바로가기
Git

Git과 Github의 시작

by oncerun 2020. 8. 3.
반응형

git은 내 파일을 추적하는 추적장치입니다.

github은 이러한 파일을 클라우드 서버처럼 파일을 저장하는 저장소입니다.

 

 우선 git init이라는 명령어로 Git의 관리하에 둡니다.

처음 git을 이용했다면

git config --global user.name "내 이름"

git config --global user.email "내 메일 주소"를 입력합니다.

 

파일을 이제 추가/삭제/변경했다면

git add -A

git commit -m "변경내용 간단히 적어요"

 

github에 들어가 create repository를 만듭니다.

이미 깃으로 관리되던 프로젝트를 올리는 것이니까

initalize this repository with a README는 체크하지 않도록 합니다.

 

이제 만들었던 새로운 프로젝트를 github repository에 올려봅니다.

그전에 현재까지 사항들이 모두 commit 되었는지 확인해야 합니다. 

git status로 확인을 한 다음 빠진 게 있다면 add 해서 commit 합니다.

 

git remote명령어는 현재 폴더에 원격 repository를 확인하는 명령어입니다.

 

git remote add origin https://github.com/~~~`/~~~.git명령어를 사용할 것입니다.

이 명령어는 이 원격 repository를 이 폴더에 origin이라는 이름으로  원격 repository를 저장하겠다는 내용입니다.

 

그럼 다음 git push -u origin master 폴더에 현 브랜치에 커밋된 내용들을 origin의 repository의 master라는 branch에 올리겠다는 것입니다.

처음 사용한다면

github의 아이디와 비밀번호를 입력해야 합니다.

 

다시 git remote를 입력하면 추적하는 repository가 나옵니다.

 

이제 add -A 하고 git commit -m "first commit"으로 커밋을 하고

git push origin master를 하면 origin repository의 master branch에 추가된 내용이 올라간 것을 확인할 수 있습니다.

 

. gitignore 파일은 보안, github에 무리를 줄 수 있는 폴더를 추적을 제외시키는 파일입니다.

 

github의 소스를 내려받기

 

이제 새로운 폴더를 만들고 github repository의 clone or download버튼을 클릭해 주소를 복사합니다.

이제 git clone 복사한 주소

를 입력하면 repository의 파일을 이 다운로드가 됩니다.

그 이후 repository의 폴더로 들어가서 작업을 해야 합니다. cd project명으로 들어갑니다.

git log를 입력해보면 프로젝트의 내용들을 그대로 복사된 것을 확인할 수 있을 겁니다.

 

이제 github에서 받은 project를 수정하고 다시 올린 뒤 다른 컴퓨터에서 받는 연습을 합니다.

새로운 파일을 추가한 다음 git add -A , git commit -m "변경사항입니다.~"

commit 내용은 팀원들에게 내가 작성한 코드의 변경점을 소개해주는 말인데 구글에 git commit 메시지 작성법이라치면 도움이 될 것입니다.

 

이제 master에 push를 진행할 것입니다.

git push를 해줍니다. 그러면 내가 추가한 파일들이 혹은 내용이 원격 repository에 추가된 것을 확인하실 수 있습니다.

 

이제 이 원격 repository로 작성하던 것이 존재하는 컴퓨터에 들어갑니다. 하지만 누군가의 push로 인해 master의 내용이 변경되었기에 확인을 한 뒤 받아줘야 합니다. 

git fetch를 입력하고 git status를 입력하면 이 branch가 원격 master origin에 commite이 뒤 쳐 저 있다고 나올 겁니다.

그럼 다운로드하여보죠

git pull 원격명(origin) 브랜 치명(master)으로 다운을 받습니다.

그렇다면 이제 파일을 추가하고 commit 하고 push 하는데 지장이 없을 것입니다.

 

이제 브랜치를 이용해봅니다.

브랜치를 만들고 해당 브랜치로 head를 이동시키는 명령어는 다음과 같습니다.

git checkout -b newBranch를 사용하면 됩니다.

이제 newBranch라는 브랜치를 원격 repository에 만들어서 올릴 것입니다.

git push origin newBranch를 실행하면 됩니다.

 

이제 다른 컴퓨터에서 새로운 branch를 받아 올 것입니다. 

우선 원격에 어떤 branch가 있는지 확인해야 합니다.

git branch는 로컬에 branch만 확인하지만 git branch -a를 하면 원격/로컬 모두 볼 수 있습니다.

만약 아까 만든 branch가 존재하지 않는다면 아직 github의 상태를 모르기 때문입니다. git fetch를 사용해서 받아줍니다.

이걸 로컬로 가져옵니다. 

다른 컴퓨터는 newBranch라는 local branch가 존재하지 않습니다.

따라서 git checkout -b newBranch origin/newBranch는 로컬에 newBranch를 만들고 원격의 newBranch내용을 받아온다는 이야기입니다. 이런 다음 이 newBranch로 head를 이동하겠죠

 

이제 이러한 모든 변경사항을 master브랜치에 합칠 것입니다. merge 하거나 rebase 원하는 걸로 합쳐줘요

그러한음 이런 모든 변경사항을 다시 작업하는 곳에서 받기 위해 pull을 사용합니다

먼저 fetch를 실행하고 다시 pull로 master의 내용을 가져오면 끝입니다.

 

여기서 pull은 중요합니다. 만약 master의 내용을 최신 버전으로 사용하지 않고 push를 한다면 오류가 발생합니다.

당연히 버전이 다르기에 그 빈공 백을 채운 다음 push를 해야 하겠죠

따라서 pull로 다른 사람이 master에 채운 내용을 받고 그다음 작업을 해야 합니다.

이제 branch가 필요 없을 수 도있습니다 로컬의 브랜치를 삭제하기 위해선 git branch -D 브랜 치명을 써줍니다.

원격 브랜치를 삭제할 것이라면 git push -d 원격명 브랜 치명을 사용합니다.

 

 

반응형

'Git' 카테고리의 다른 글

Git 기초 명령어  (0) 2021.02.10
Git 설치  (0) 2021.02.10
Git 기초  (0) 2021.02.10
깃허브 주소  (0) 2020.02.18
2020년 개발자 로드맵  (0) 2020.02.18

댓글