git과 github의 필요성
git과 github는 코딩 버전관리 프로그램이다.
버전관리 프로그램은 한마디로 '중간 저장'의 역할을 해줄 수 있는것이다.
savepoint를 지정해놓고 개발 도중 프로그램에 심각한 오류가 발생했을 때, savepoint로 돌아갈 수 있는 힘을 갖게 되는 것이다.
'backup'기능과 유사하다
git은 commit을 통해 바로 이전에 저장했던 파일들과 현재 저장하는 파일들의 차이점만을 기록한다.
만약 이상이 있어서 백업을 할경우에, 달라진 부분만을 복원한다.
전체가 아닌 부분만 저장하기 때문에 처리속도가 빠르고 소요되는 저장공간도 적은 편이다.
또한 한명이 상이 한 프로젝트를 동시에 개발하고 수정할 경우에 각각의 기능별로 Branch(나뭇가지)를 만들 수 있고
이 Branch는 서로다른 Branch 즉, 각각이 맡은 기능들에 서로 영향을 미치지 않아서 서로의 코드가 망가질 염려없이
개발할 수 있다는 큰 장점이 있다. 이 Branch들은 나중에 한번에 통합할 수 있다.
프로젝트 폴더에 git세팅을 하면 기본적으로 master라는 branch가 생성된다.
nice_feature와 very_nice_feature는 각기 다른 branch이다.
각각의 점들은 savepoint를 의미하며,
nice_feature branch가 master에 통합된것을 볼 수 있다.
very_nice_feature는 아직 개발중인것을 볼 수 있다.
이 방식의 장점은 프로젝트에 문제가 있을시 master를 과거로 돌리지 않아도, savapoint를 제거해서 프로젝트를 변경할 수 있다는 장점이있다.