본문 바로가기
기초

Git and Github

by Adam92 2020. 6. 4.

Git이란

Git(깃)은 버전관리 프로그램이자 소스코드를 효율적으로 관리하기 위해 사용 되는 버전관리 시스템입니다.

또한 그룹 프로젝트의 경우 한 사람이 A라는 기능을 개발하고, 다른 사람이 B라는 기능을 개발하는 경우, branch(나무가지)라는 개념을 도입하여 각각 기능을 branch에서 개발 후 master branch로 합칠 수 있게 합니다.

 

Github란

 git 데이터를 온라인에 저장해 주는 사이트(https://github.com)입니다.
백업이 기본 기능이지만 단순히 저장만 하는 것이 아니라 다른 유저들과 함께 코드를 공유하고 온라인으로 하나의 프로그램을 같이 제작하는 것도 가능하고, 가장많은 오픈소스를 가지고있습니다.

 

 

 


Git repository

 

2가지 종류의 Git repository가 있습니다.

 

  • remote repository
  • 파일이 Remote repository 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소입니다. 여러 사람과 같이 쓰는 공유 클라우드 느낌으로 생각하면 쉽습니다.

 

  • local repository
  • 내 PC에 파일이 저장되는 개인 전용 저장소입니다.

이런식으로 git repository가 2개가 있는데 결국여러 local repository에서 remote repository로 파일을 전송하여 전송된 파일들을 합치는 과정이 git을 이용하여 협업하는 방법인 것같습니다.


Branch

branch란 하나의 프로젝트를 진행할 때, 그 프로젝트를 각각 따로 독립되게 작업할 수 있게하는 개념입니다.

다른 각각의 branch로 작업을 하고 마지막에 merge함으로 써 각각 의 파일들을 하나로 합칠 수 있게하는 것입니다. 

 

 


실습 내용

이제 git 명령어를 이용하여 repository를 만들고 github에 올려보겠습니다.

 

  • Local repository로 쓸 디텍토리를 만듭니다. : mkdir git(아무 폴더 이름)
  • git init명령어를 입력한 뒤, git 해당폴도로 이동한 뒤, git clone 주소를 입력하여 클론하여 줍니다.
  • 브랜치를 만듭니다 : git branch 브랜치명
  • remote repository애서 local repository로 파일을 당깁니다(pull) : git pull origin master
  • 당겨온 파일을 수정한 뒤 다시 올립니다. : git add . ( .은 해당폴더안에 있는 모든 파일입니다.)
  • add한 것을 head에 올리기위에 커밋합니다 : git commit -m "멘트" 
  • 이제 푸쉬하여 remote repository에 올립니다. : git push origin 브랜치명

 

 

git

이런식으로 github에 올리고 충돌이 일어나면(conflict) 마스터브랜치로 당겨온다음에 수정한뒤, 나의브랜치로 올려 합치는것을(merge)를 실습해보았다.

 

후 아직까지는 git을 이용하는게 익숙하지 않아서 명령어도 어색하고 올리고 받는 과정이 서툰것 같다.

프로젝트를 들어가서 좀더 git과 github에 친근해져보고 다시 정리하여 올려봐야겠다.

 

 

 

 

'기초' 카테고리의 다른 글

Data Structure : day 1  (0) 2020.06.08
Web  (0) 2020.06.06