모든 파일의 변화를 기록하는 시스템을 버전관리 시스템이라한다. SW의 경우는 여럿이 개발하는 협업이 많으므로 이 변경사항을 혼자 기록하는것이아닌 서버에 기록하여 서버에서 변경사항을 받아 사용할수있는 시스템을 만들었다
이를 중앙 집중형 버전관리 시스템
이라고 한다.
실제로 군시절 개발할때 SVN을 사용했는데 쓸때는 매우편했다!
Git의 존재를 몰랐기에..
하지만 이 TFS(중앙 집중형 버전관리 시스템)의 경우에는 큰 단점이 있는데
해당 네트워크에 연결되어 있어야만 작업이 가능했으며 소스의 기록을 담당하는 서버가 죽어버리면 작업이 진행이안됐다, 심지어 해당 서버의 네트워크가 느리다면 작업에도 영향을 미치는 치명적인 단점이 있엇다.
이 단점들을 해결한 VC가 있으니 Git
의 존재이다
우리는 VC를 Git을 이용해서 좀더 효율적으로 할수있다
소스 코드를 효율적으로 관리하기 위해 만들어진 분산형 버전 관리 시스템
모든 Client
가 저장소가 될 수 있다.
모든 Client가 저장소가 된다는 말이 무슨 의미를 가질까?
이 말은 소스코드는 물론 그동안의 모든 변경이력을 가져와 모든 Client
가 하나의 완전한 저장소가 된다는말이다. 즉 TFS
의 단점을 완벽하게 상쇄한다는 말이다.
Git
은 위의 섬령했듯이 프로젝트를 공유하며 백업하고 관리하는 VC의 일종이다
이 Git을 더 효율적으로 사용할수있는 서비스가 있으니 GitHub
이다.
웹호스팅
서비스GitHub
는 클라우드 기반으로 다른사람과 공유가 가능하고 Git의 기능뿐만 아니라 기능을 확장하여 제공해준다.
클라우드 서버에 소스가 올라가기 때문에 여러 명의 사람이 동시에 참여하여 VC가 가능하며 공동 작업또한 가능하다
즉, 서로의 작업을 덮어씌우지 않으며 코드 수정을 하고 Branch를 만들 수 있다는 것이다.
Git이 설치된걸 가정한다
일단 사용하는 PC에 로컬 Git을만든다
mkdir TestFolder -> 폴더생성
cd TestFolder -> 폴더 이동
git init -> Git 저장소 생성 (현재 디렉토리를 깃 저장소로 바꾼다)
그 후 해당 디렉토리에 "First.html"이라는 파일이 추가됐다.
git add First.html -> 저장소에 저장하기 전에 변경 내용을 임시로 저장하는것.
그후 변경 결과를 최종 저장(Commit)한다.
git commit -m "add to Message here" -> 커밋 메세지를 지정하여 저장한다.
그 후 원격 저장소(GitHub)에 정보를 추가해준다.
git remote add origin https://github.com/yourUserName/YourRepositaryName
정보가 추가됐다면 원격 저장소에 반영한다.
git push origin master
해당 작업이 끝났다면
https://github.com/yourUserName/YourRepositaryName
입력한 깃허브 주소에 들어가 확인해보자.
개발을 하게된다면 취미가 아닌이상 협업은 필수가 되며 협업을 위해선 Git과 GitHub에 능숙해져야한다는걸 알고있다, 기초적인 브랜치사용과 단순 레포지토리 관리용으로는 사용중이지만 앞으로 다양한 협업을통해 Git과 GitHub에대해서 물흐르듯이 능숙하게 사용할수 있게 되고싶다.
참조한 사이트
깃과 깃허브의차이
깃이란?
깃과 깃허브의사용법