알고 쓰자 Github!

“아무 생각 없이 잘만 써오다가 갑자기 글을 쓰게 됨”

Github의 기본적인 소스 관리 기능은 하루도 안거르고 이용 하다보니 어느새 당연한 일이 돼버렸다.

[상황에 적절한 형상 관리 프로세스 설계하기] , [깃헙 마케팅 효과적으로 하기]

이런 심화적인 기술만 관심을 갖는 내 자신이 건방져 보이기도 하여

github 시스템부터 제대로 알고 있는지 자문해보기로 했다.


원격 저장소 (Local Repository) 로컬 저장소 (Remote Repository) 스테이징 영역 (Staging Area) 작업 트리 (Working Tree)


원격 저장소
우리가 흔히 레포지토리 라고 일컫는거. 
깃허브가 기존의 소스관리 툴(CVS , SVN 등)로부터 경쟁력을 가질 수 있었던건 
원격저장소(허브) 개념이 있었기 때문이었다.
이 허브 덕에 사람들은 각자 공간과 시간에서 자유롭게 일을 할 수 있게 됐다. 
작업 트리
내가 에디터로 작업하고있는 공간(폴더/파일)_(요즘엔 코드스페이스도 있다.)_ 에서 
작업이 끝나면 `git add .` 로 깃의 저장공간 중 하나인 스테이징 영역에 집어넣는다.
이후 `git status` 로 내 작업트리와 스테이징을 비교할 수 있다.
스테이징 영역
작업폴더에는 .git이 대게 있다. 그리고   .git 안에는 많은 데이터가 들어있고, 
스테이징영역은 .git 안에 있는 데이터중 하나인 공간형 데이터다.
git add할 때 마다 이 스테이징 영역이라는 공간에 변경 된 데이터들이 들어가게 된다.

로컬 저장소

git log를  입력하면 로컬 저장소에 담긴 코드의 히스토리를 볼 수 있다.
git show 를 입력하면 지정한 커밋에 대한 변경 내역을 볼 수 있다.
git push 로 원격 저장소에 보낼 수 있다.

… 이 이상 알 필요 없어 보인다.