본문 바로가기

SW

[Git] 당장 시작하기

Git은 버전 관리 시스템 입니다. 

 

비슷한 SW로는 SVN이 있죠 

 

Git은 기본적으로 Command line tool 입니다. 

 

Git을 사용하면

 

당연히 code의 버전 관리가 가능합니다.

새로 작성한 내용에 버전을 붙여서 저장시킬 수 있고 

이전에 작성한 코드로 돌아갈 수 도 있습니다. 

 

 

Git server를 두고

다른 사람들과 Code의 Sync를 맞출 수 있습니다. 

가지고 있는 코드를 전송해 줄 수도 있고 

다른 사람이 수정한 코드를 받아 올 수도 있습니다. 

 

Online에서 Git Server를 두고 사용하는 것은 Github나 Gitlab, Bitbucket 등을 이용하면 가능합니다.

 


 

 

바로 시작해 보겠습니다.

 

일단

 

https://www.git-scm.com 

 

Git

 

www.git-scm.com

위 주소에서 os에 맞게 git을 다운로드 받습니다. 

 

git은 폴더를 정해서 지금부터 이 폴더에 있는 소스코드의 변화를 모두 감지할거야

 

라고 하는 명령어가 있습니다. 

 

소스코드 관리의 시작이죠 

 

바로

 

git init

 

입니다. 

 

git init를 입력한 뒤부터 

 

해당 폴더는 git으로 관리되는 폴더가 됩니다. 

 

git init

그 다음

 

해당 폴더에서 코드 작성을 시작합니다. 

 

코드를 작성하다가 저장하고 싶을때 

 

git add 와 git commit을 합니다. 

 

git은 한번 저장할때 저장하고 싶은 것들을 선택할 수 있습니다.

 

그것이 git add 입니다 .

add가 잘 되었는지는 

 

git status

 

를 이용해서 확인합니다.

 

git commit은 

 

git add로 추가한 내용들을 하나의 버전으로 확정지을때 사용합니다. 

 

git commit -m "add hello.c code"

 

이렇게하면

 

확정이 지어지고 해당 확정에 대한 설명을

 

-m "여기에 작성하는 것입니다."

 


처음 하시는 거라면 이부분에서 에러가 날 수 있는데 

 

이유는 해당코드에 log를 남기는

사용자 정보가 등록되지 않았기 때문입니다. 

 

사용자 정보는

 

git config --global user.name "사용자 이름"

git config --global user.email "사용자 이메일"

 

위 명령을 통해서 등록 할 수 있습니다. 


 

git log를 통해서 

 

잘 저장되었는지 확인할 수 있습니다. 

 

 

 


이어서 살펴볼 내용은

 

git branch

git checkout

git merge

입니다. 

 

git은 현재 사용중인 버전의 가지치기를 할 수 있습니다. 

 

현재 branch 위치는 master 입니다 .

 

그건 

 

저기 표시되어 있습니다. 

 

그럼 branch를 만들면

 

저 부분 이름이 바뀝니다.

 

git branch 새로운_브랜치_이름

 

이렇게 하면 새로운 branch가 만들어 집니다. 

 

 

git branch

 

라고만 입력하면 branch 목록을 볼 수 있습니다. 

 

git checkout branch_name

 

위 명령을 입력하면 해당 branch로 이동합니다. 

 

 

 

이제 new_branch에서 내용을 수정하고 

master에 병합(merge) 시켜보도록 하겠습니다. 

 

처음에는 파일을 추가합니다. 

 

new_file.c 라는 파일을 추가하고 add와 commit 까지 해보겠습니다. 

 

추가 및 commit 작업이 완료된 후에

 

병합하고자 하는 master branch로 이동해서 

 

git merge "병합할 브랜치 이름"

 

위와 같이 입력합니다.

 

 

그럼 정상적으로 잘 추가된 것을 보실 수 있습니다. 

 

아래는 전체 실행을 모두 캡쳐한 모습입니다.

 

 

작성중인 코드를 무료로 클라우드에 보관할 수 있습니다. 

 

그때 사용하는것이 

 

크게 3종류 입니다. 

 

github,

gitlab,

bitbucket

 

그런데 거의 github를 사용한다고 보시면 됩니다. 

 

 

github의 사용은 

 

아주 쉽습니다. 

 

https://www.github.com 

 

Build software better, together

GitHub is where people build software. More than 50 million people use GitHub to discover, fork, and contribute to over 100 million projects.

github.com

위 링크에 접속하셔서 회원가입을 진행하시고 

 

 

Repositories 옆에 있는 new를 클릭합니다. 

 

github에서 Repositories는

 

지금 컴퓨터에서 git으로 소스코드 관리중인 폴더와 같다고 보시면 됩니다. 

 

new를 누르면 

 

 

 

 

 

이런 화면이 나오는데 

 

 

repository_name은 간결하게 하시는게 좋습니다. 

 

작성하고 하단에 crate repository 버튼을 누릅니다. 

 

crate가 완료되면 

 

 

위와 같은 창이 뜹니다. 

 

여기서 중간에 있는 회색박스에 있는 코드를 따라 입력하시면

해당 github에 코드가 업로드 되는 것을 보실 수 있습니다. 

 

현재는 init, add와 commit 까지 했음으로

 

git 폴더와 github를 연결하는

 

git remote add origin "URL"

 

를 입력한 후

 

git push -u origin master 

 

명령어를 이용해서 코드를 github에 업로드 하시면 됩니다. 

 

이렇게 업로드 된 코드를 다른 컴퓨터에서 다운받고자 할때

혹은 다른 github에 있는 코드를 다운받고자 한다면

 

git clone URL

 

위와 같이 입력해서 수행합니다.

 

예를들어 pytorch code를 가져온다고 해보겠습니다. 

 

 

 

pytorch/pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration - pytorch/pytorch

github.com

 

git clone https://github.com/pytorch/pytorch

 

위와 같이 입력하면 코드가 clone되는 것을 보실 수 있습니다.

 


clone해서 사용중인 repository가 업데이트 되어 최신 코드를 가져오고 싶다면

 

git pull

을 입력하시면 됩니다. 

 

가져온 코드를 수정하셨다면 충돌이 날수 있는데 

해당 경우에는 git reset --hard를 하시면

처음 가져온 상태로 돌아가게 됩니다.

 

 

 

 

여기 까지 당장 시작하는 git 기초 사용법 이었습니다 .