4. Git = 버전 관리 시스템(VCS)
파일 변화를 시간에 따라 기록했다가
나중에 특정 시점의 버전을
다시 꺼내올 수 있는 시스템
(*Pro git 참조)
5. Kakao Taxi
V 1.0
V 2.0
V 3.0
1.1
1.2
1.3
Test.c
main.c
1.1.1 error
fixed.c
Final.c
*기존 관리 방식 : 로컬, 중앙 집중식
6. 중앙 저장소
작업 파일 복사 작업 파일 복사
CVCS(중앙 집중식)
• 프로젝트 관리자가 팀원들의 작업을
한 눈에 쉽게 관리가 가능
• 중앙 서버 고장 시 작업 불가, 백업
불가 등의 치명적인 문제 발생
DCVS(분산)
• 중앙 저장소의 자료를 통째로 복사
해서 로컬에 저장하기 때문에 아무
거나 골라도 서버 복원 가능
• 다양한 그룹과 다양한 방법으로 협
업 활동이 가능
중앙 저장소
(*github)
원격 저장소 원격 저장소
8. 오늘 알아볼 Git 명령어
• git clone : 다른 서버에 있는 저장소를 복제
• git init : 현재 작업환경에 새로운 빈 저장소 .git 폴더를 생성
• git add : git이 파일을 새로 추적 [임시 저장?]
• git status : 파일의 상태를 확인
(untracked, unmodifed, modifed, staged)
• git commit : 변경된 파일 내용, 정보들을 저장소에 기록 [스냅숏]
• git remote : 원격 저장소 확인, 로컬환경과 연결
• git push : 연결된 원격 저장소에 커밋한 자료들을 전송
• git pull : 연결된 원격 저장소의 자료들을 로컬로 가져옴
9. 다른 많은 git 명령어는
git에 익숙해지면서 천천히 찾아보기
*협업을 위해 branch(분기)
명령어를 꼭 익혀놓자 - 필수
12. ** Objects
• 깃은 파일을 4가지의 object로 관리한다.
• blob, tree, commit, tag
• object 이름은 SHA1 해싱 알고리즘을
사용하여 영어,숫자 40자리로 만들어진다.
• .git/objects/ 폴더에 위치
• git cat-file –p “객체명” 으로 내용 확인
36. 문서를 깔끔하게 정리해주는
마크다운 Markdown (.md)
https://gist.github.com/ihoneymon/652be052a0727
ad59601
*가독성이 좋고, 간단한 구조의 문법을 사용하여
빠르게 컨텐츠를 작성할 수 있게 해주는 마크업 언어
(github의 readme.md)
37. 배민 프론트개발 팀에서의
git workflow
http://woowabros.github.io/experience/2017/10/30/
baemin-mobile-git-branch-strategy.html
*실제로 git을 사용해 어떤 형식으로 협업 프로젝트를
진행하는지 맛 볼 수 있음
(우아한형제들 기술 블로그도
깃허브로 배포 된 듯)
38. git 더 알아보기 & 참조
빨간색 코딩 - http://sjh836.tistory.com/category/Git
git 간편 안내서 - https://rogerdudler.github.io/git-
guide/index.ko.html
완전 초보를 위한 깃허브 -
https://nolboo.kim/blog/2013/10/06/github-for-
beginner/
github에서 fork 및 pull request 해보기 –
https://www.xpressengine.com/devlog/22791272
39. git 깃허브 - https://github.com/git
git 원리 -
https://wayhome25.github.io/git/2017/04/02/git-
01-core/
git 객체 유형 및 구조 –
https://wayhome25.github.io/git/2017/04/02/git-
01-core/
what is git? -
https://www.atlassian.com/git/tutorials/what-is-git
프로 Git, Pro Git – 프로그래밍 도서 (도서관에서 빌림)