3. 1. Git이 나오게된 배경
파일이나 폴더를 편집할 때 작업
을하면서 오른쪽 사진처럼 번잡
하게한다.
만약 여러명이 공유한 파일을 편
집한다면 저장할때 동기화문제가
있다.
이와같은 문제를 해결하기위해
git이 탄생.
4. 2. git을 이용한 버전 관리
소스 코드가 변경된 이력을 쉽게 확인 가능
특정 시점에 저장된 버전으로 되돌아 갈 수
있다.
동시저장할때 누군가 편집한 내용과 충돌한
다면, 경고메시지 발생. 내용덮어쓰는 실수
가 없다.
매번 백업용 파일 복사본을 만들 필요가 없
다.
5. 3. Git repository(git 저장소)
비슷한 파일이라도 실제 내용 일부 문구가 서로 다르면 다른 파
일로 인식하기 때문에, 이력 별로 구분되어 저장된다.
Git은 원격 저장소와 로컬 저장소 두 종류의 저장소를 제공한다.
①. 원격 저장소(Remote Repository): 파일이 원격 저장소 전용
서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소입니
다.
②. 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개
인 전용 저장소입니다.
저장소 만드는 법은 새로만들거나, 이미 만들어져 있는 원격 저
장소를 내 로컬로 가져오는 것이다.
7. git의 object 종류
※ 공통점
- 객체명은 SHA1로 40자리로 해쉬된다. 따라서 내용이 같으면 객체명이 같다.
- .git/objects에 위치함.
- 내용을 까볼려면 git cat-file –p 객체명 으로 치면된다.
1. blob : git add할때 생성, 파일 내용이 저장
2. tree : git commit할때 생성, 타입, 객체명, 파일명이 기록
8. 3. commit : git commit할 때 생성, tree객체명, 부모commit객체명, author,
committer, message를 기록.
4. tag : git tag할 때 생성되고, commi객체명, tag명, tagger, messge를 기록.
10. 실습해볼 필수명령어
자주쓰는 명령어들
- git clone
- git remote
- git push
- git pull
- pull request
- fork
github는 git 저장소를 원격저장할 수 있는 웹사이트, 오픈소스의 보고
스타크래프트로 치면 유즈맵저장소같은 곳
※ 추가적인 특징
1. 기록요구 : Issue(이슈)를 사용해 버그를 기록하거나 개발하
고 싶은 새로운 기능을 구체화할 수 있다.
2. 독립된 히스토리(History)에 대한 협력 : branch와 pull
requests를 이용해 다른 브랜치 또는 기능에 협력할 수 있다.
3. 진행 중인 작업 검토 : pull requests 목록을 통해 현재 무슨
작업이 진행되고 있는지 모두 볼 수 있다. 그리고 특정 pull
request를 클릭하여 최근의 변경 내용과 변경에 관한 모든 논
의 내용을 볼 수 있다.
4. 팀의 작업 진척 상황 확인 : 펄스(pulse)를 훑어보거나
commit histroy를 살펴보면 팀의 작업 진척 상황을 알 수 있다.