본문 바로가기

개발 일지

2019.12.17 13일차 개발일지 - Github2

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 남발하지 말고 신중히 할 것.