프로젝트를 진행할 때 형상관리/소스관리를 SVN이라는 툴로 사용했었다.
시간이 지나면서 Git에 대한 중요성을 깨닫고, 혼자서 알고리즘 공부나 학습한 내용을 혼자 push와 commit하면서 그냥 구글링해서시키는 대로진행했던 것 같다.
하지만 기업이나, 협업을 요하는 프로젝트를 진행하면 brunch, pull push 등 더 많은 지식을 요구했고, 그것들을 공부 후 여기에 정리할 예정이다.
'Git으로 관리되는 프로젝트' 를 Git 에서는 repo(리포, repository 리포지토리의 약자) 라고 부른다.
내 컴퓨터에 저장되어있는 리포지토리를 로컬 repo(local repository) 라고 한다. Github 처럼 다른 곳에서 접속할 수 있는 공간에 저장되어있는 것을 원격 repo(remote repository) 라고 한다.
Git 도 클라우드 서비스로 두 군데의 내용을 동기화한 것처럼 원격 repo와 로컬 repo 를 연결시켜서 내용을 반영시킬 수 있다.
로컬 repo 가 원격 repo 를 연결하는 것을 추적(Tracking, 트랙킹 / branch tracking) 이라고 한다.
로컬 repo 만이 내가 어떤 원격 repo 와 연결되어있는지를 알고 있다. 원격 repo 는 내가 어떤 로컬 repo 와 연결되어있는지 정보를 가지고 있지 않다.
- 로컬 repo 의 commit 들을 원격 repo 에 반영하는 것을 push(푸쉬)이라고 한다.
- 원격 repo 의 commit 들을 로컬 repo 에 반영하는 것을 pull(풀) 이라고 한다.
- 원격 repo 를 내 컴퓨터에서도 사용할 수 있도록 가져올 수도 있다. 이걸 clone(클론, 복제) 라고 한다.