...
그러다 어라? 수정사항이 번복되거나 해서
프로젝트를 과거 시점으로 되돌려야 하는 상황이 와요.
그러면 이제까지의 내역들을 확인한 다음
원하는 시점을 선택하면 그 박제됐던 과거의 상태가 복원이 됩니다.
수정된 파일들은 되돌려지고 새로 만들었던 파일들은 사라지고 지웠던 파일들은 다시 생겨요.
...
또 프로젝트를 진행하다 보면
이 기능을 넣을까 말까, 디자인을 이렇게 바꿔볼까 말까
결정하기 애매할 때가 생겨요.
이럴땐 이렇게 가지치기, 분기가 가능합니다.
Branch(가지)를 딴다고 하죠.
주가 되는 코드는 이 메인 브랜치에서 작업하고
시도를 해 볼 부분은 다른 브랜치에서 작업하다가
이거 괜찮다, 적용해도 되겠다 싶으면
메인 브렌치에 합쳐버리면 되는거에요.
Git은 이제 알겠고, 그럼 Github이란 뭘까요?
Git은 버전관리를 위한 소프트웨어고,
Github은 이 Git으로 원격전송된 프로젝트들이
저장되는 공간을 제공하는 서비스에요.
이 말이 어려우면,
Git이 영상 찍는 앱이고 Github은 유튜브라고 생각하시면 편해요.
여러분이 Git으로 관리하는 코드들과 프로젝트들을
얼마든지 Github에 무료로 올릴 수가 있어요.
오픈소스란 말 그대로 코드가 다 공개된 소프트웨어 프로젝트에요.
전세계 사람들이 Github에 올려진 코드들을 볼 수 있기 때문에,
잘못된 부분을 수정하거나 더 좋은 기능을 구현하는 코드들을
지구 반대편의 뛰어난 프로그래머들에게 제안 받을 수도 있고,
또 내가 남의 프로젝트에 기여할 수도 있는거죠.
잘 알려진 오픈소스 프로젝트에 내 코드가 기여한 기록이 있으면
자기만족도 있겠지만 취업할 때 강력한 플러스 요인이 되기도 해요.
이런 과정들 속에 멋진 프로젝트들이 만들어지고 발전하는 곳이기 때문에
Github은 자유 소프트웨어, 오픈소스의 성지라고 불리기도 해요.
지금 당장 Github에 접속하셔서, 세계 곳곳의 뛰어난 프로그래머들이 작성한
수많은 코드들을 직접 살펴보실 수가 있습니다.
.git은 숨김폴더로 생성됨
$ git init : 깃 초기화.
$ commit : 일종의 시점을 박제하는 것.
$ git reset --hard 해시6자리(ex 6a3rrx
브랜치(branch, 가지)에 변경점이 없을 경우 병합(Merge)하여 정리가 가능함
버전관리 시스템은 깃허브 외에도
Helix Core, Mercurial, CVS, Subversion, Bazaar 등이 존재함.
git hub는 다양한 개발자들이 올려놓은 코드가 공개되는 오픈소스 플랫폼.
만일 대형 프로젝트의 본인의 코드가 Ref로 사용됬다면 경력에 큰 가산점.
해당 영상의 고정댓글에 더 상세하게 설명된 내용이 약 2시간 분량으로 존재한다.