Clone
1. 원본 있는 곳에서 작업 후 Push
2. 집에 도착 후 Sourcetree 실행 - New Tap 생성- 상단 Clone 클릭 - 깃허브사이트에서 'Clone or Download' 클릭 - URL 복사 - 저장할 경로 설정 - 하단 클론 클릭
3. 원본 있는 곳에서 작업 후 Push
4. 집에서 Pull로 작업파일 가져오기, 수정이 있다면 Push
5. 원본 있는 곳에서 Pull
6. 수정 후 Push-Pull 반복
Collaboration
A : github - 세팅 - Option - Collaborators - 추가할 아이디 입력 - Add
B : 메일 확인 - 승락 - Sourcetree에서 Clone 생성
상황1
1. A가 a.txt 작성 B도 b.txt 작성
2. A가 먼저 Push B도 Push하려면 에러 메시지 나옴.
3. B는 Pull한 다음 Push를 한다.
4. A도 Pull하면 A와 B의 폴더 모두 a.txt, b.txt가 존재하게 됨.
상황2
1. A가 a.txt에 내용을 추가하고, B도 b.txt에 내용을 추가한다.
2. A가 먼저 Push B도 Push하려면 에러 메시지 나옴.
3. B는 Pull한 다음 Push를 한다.
4. A도 Pull한다.
5. 서로 변경한 사항은 병합되어 저장된다.
상황3
1. A가 a.txt의 모든 내용을 삭제하고 무효라는 텍스트 입력, B도 a.txt에 내용을 추가한다.
2. A가 먼저 Push B도 Push하려면 에러 메시지 나옴.
3. B는 Pull한 다음 Push를 한다.
4. 이때 병합 충돌 메시지가 나온다.
5. B가 코드를 열면 전 내용을 날릴지 병합할지 선택해야 함 - Accept Current chage 선택한 경우
6. Sourcetree로 돌아가서 변경된 파일을 스테이지에 올린다. 이때 커밋메시지에 충돌에 대한 변경사항이 자동으로 채워져있는 것을 확인할 수 있다.
7. 이대로 커밋-Push
8. A는 Pull한다.
9. 자신의 변경사항이 날아갔음을 확인한다.
- 이 경우 서로의 의견 조율이 선행되어야 한다.
상황4
1. A가 새 브랜치(글쓰기)를 생성하고, B가 새 브랜치(코드쓰기)를 생성한다.
2. 각자의 브랜치를 체크아웃한 상태에서 파일 생성 스테이지 add -> 커밋 -> push까지 한다.
3. githube에서 콜라보 프로젝트로 들어가 아래와 같은 메시지 확인
4. 오른쪽 버튼 클릭
5. 상대방의 브랜치에 댓글과 리뷰 달 수 있다.
6. merge pull 클릭
7. Sourcetree로 돌아와 master 체크아웃한 후 Pull로 파일 당기면 각자의 브랜치 루트가 master와 연결
커밋 옵션
커밋 옵션 마지막 커밋 정정 -마지막 커밋과 현재 올리려는 커밋 병합
스테이지 Add - 커밋옵션 마지막 커밋 정정 - 커밋 - pull - push
브랜치
마스터에 영향을 주지 않는 평행세계를 만드는 행위
현업에서 가장 중요한 기능
상단 브랜치 - 새브랜치 - 이름 생성 | 예) dev/style
왼편 브랜치 루트에서 변경하고자하는 브랜치 이름에서 우클릭 체크아웃하여 선택
브랜치 삭제
담당 프로젝트 실패시 브랜치만을 끊어낸다.
커밋 되돌리기
해당 커밋 상태로 되돌린다.
이 커밋까지 현재 브랜치를 초기화
soft 커밋에서 스테이지로 되돌리는 수준
mixed 한단계 변화를 되돌리는 수준
hard 이 커밋 이후 커밋을 모조리 제거
=> 초기화와 Push 남발하지 말고 신중히 할 것.
'개발 일지' 카테고리의 다른 글
2019.12.19 15일차 개발일지 - Python (0) | 2019.12.19 |
---|---|
2019.12.18 14일차 개발일지 Github 특강3 (0) | 2019.12.18 |
2019.12.16 12일차 개발일지 - 4차산업혁명과 프로그래밍 그리고 Github (0) | 2019.12.16 |
2019.12.11 9일차 개발 일지 (0) | 2019.12.11 |
2019.12.10 8일차 개발 일지 (0) | 2019.12.10 |