초기화
프로젝트 생성시 설정 가능
.git 폴더 생성
프로젝트 안에 .git폴더가 있으면 working copy가 됨
커밋을 할 때 마다 각 워킹 카피의 스냅샷이 저장된다.
각 커밋은 고유 아이디를 부여받는다.
변화
변경된 라인은 에디터에서 하이라이트 된다
파일에는 M표시가 생긴다
커밋
커밋 메뉴로 가면, 뭐가 달라졌는지를 비교하게 된다.
메시지를 작성하고 커밋을 한다
비교 모드
특정 커밋을 선택하여 변화를 비교할 수 있다.
각 라인을 가장 마지막으로 편집한 사람을 알 수 있다
전체 로그와 히스토리를 알 수도 있다.
브랜치
독립적인 타임라인 흐름
기본은 main(지금은 main)
관련 세션: wwdc 2017 - github and new source control workflow in xcode 9
호스팅 서버 지원
깃헙, 빗버킷, 깃랩 모두 지원
자체 호스팅, 엔터프라이즈도 지원
보안
HTTPS, SSH를 이용해 보안
SSH은 별도 설정이 필요
Xcode가 이 설정을 쉽게 할 수 있도록 지원
passphrase를 통해 추가 보안
pulling and pushing
원격 저장소와 싱크를 맞추는 과정
pull의 종류
Merge
Rebase
Conflict 처리
선택
수동 처리
충돌은 일어나지 않는 게 좋다
공동 작업자가 수정한 부분을 보여주는 기능 제공(10분마다 패치)
풀리퀘스트
코드리뷰 수단
서브 브랜치를 메인 브랜치로 머지하는 수단
포크
서버쪽에 카피 하나를 더만드는 수단
별도지만, PR을 통해서 합칠수도 있다.
유용한 단축키
Option + Command + C : Viewing history
Control + Command + a : show authors