Source tree(git) 사용

24
Source Tree(Git) 사사 사사사사사사 사사사

Transcript of Source tree(git) 사용

Page 1: Source tree(git) 사용

Source Tree(Git) 사용

시스템개발팀 신준상

Page 2: Source tree(git) 사용

목차1. 개요2. Git Tool3. 설치4. 저장소 생성5. Push / Pull 6. Branch7. 시나리오 ( 데모 )8. 참고

Page 3: Source tree(git) 사용

1. 개요• 모바일와캠 형상관리 (SCM) 를 위한 사용방법 및 규칙을 정의• 꼭 필요한 사용법만 기재 ( 나머진 개인적으로 학습 )• 몇 가지의 시나리오를 가지고 데모시연

Page 4: Source tree(git) 사용

2. Git Tool (GUI)• Git 을 다루는 툴은 다양하게 존재• TortoiseGit, Git for Window, GitEye, Git Extentions, … 등 많은 툴이 존재한다 .• Source Tree 선택• 깔끔한 UI• 쉬운 사용방법• 계속적인 관리 ( 업데이트 )

Page 5: Source tree(git) 사용

3. 설치1) 설치 URL

https://www.sourcetreeapp.com/

Download Source Tree Free 버튼을 통해 다운로드 후 설치 ( 생략 )

Page 6: Source tree(git) 사용

3. 설치2) 기본설정도구 > 옵션

Git 탭을 선택 > 파일수정 클릭

리모트 저장소 (Git) 에 올리지 말아야 할 확장자 및 폴더를 설정 ( 모든 플젝에 적용됨 Global)

Page 7: Source tree(git) 사용

4. 저장소 생성1) 로컬 저장소 생성

1_1) 1 번 “복제 / 생성” 버튼을 클릭 1_2) ( 혹은 ) 2 번 오른쪽 마우스 클릭 후 나타나는 팝업 창에서 “새 저장소 생성“ 선택

1

2

Page 8: Source tree(git) 사용

4. 저장소 생성1) 로컬 저장소 생성

1_3) 저장소를 위치를 선택1_4) 좌측 탐색기에 생성될 이름을 설정 (1_3 에서 폴더를 선택하면 자동으로 폴더 명으로 설정됨 )

34

Page 9: Source tree(git) 사용

4. 저장소 생성1) 로컬 저장소 생성

1_5) 좌측 탐색기에 저장소 (Test01) 이 표시1_6) 현재 작업중인 ( 열린 ) 프로젝트를 탭으로 표시* 이후 작업 ( 여기선 .txt 파일 하나 생성 )

1_7) 데모5

6

Page 10: Source tree(git) 사용

4. 저장소 생성2) 프로젝트 설정

2_1) 우측 상단 “설정” 버튼 클릭2_2) 현재 “원격 저장소”가 없기 때문에패스2_3) “ 원격 저장소“ 에 올리지 말아야 할 확장자 및 폴더를 설정

( 현재 프로젝트에만 국한됨 )2_4) “ 커밋”시 사용자 정보에 기록될 정보 ( 이름 , 이메일 )

* 작업을 했다고 가정 (test.txt 파일 생성 )

1

2

3

4

Page 11: Source tree(git) 사용

4. 저장소 생성2) 프로젝트 설정

2_5) 클릭하여 변경 되거나 새로 추가된 파일의 내용을 2_6) 에서 볼 수 있다 .2_6) 체크박스를 통해 스테이지로 올릴수 있다 ( 스테이지에 올려야만 “ 커밋”가능 )2_7) 작업된 내용을 입력2_8) “ 커밋”한다

5

6

7

8

Page 12: Source tree(git) 사용

4. 저장소 생성2) 프로젝트 설정

2_9) 이상없이 “커밋”이 되면 브랜치 영역에 “master” 브랜치가 노출된다

2_10) “ 로그 / 히스토리"에도 “ master” 헤더가보여진다

2_11) 상단 큰 아이콘 메뉴에서 “깃 플로우…” 클릭2_12) 초기화 대화상자가 나온다 “확인“ 클릭2_13) “develop” 이라는 개발 브랜치가 생성된다2_14) “ 로그 / 히스토리“ 에도 “ develop” 헤더가

“master” 헤더와 동일선상에 위치한다2_15) 데모

109

11

12

13

14

Page 13: Source tree(git) 사용

5. Push / Pull1) 리모트 저장소 생성

1_1) GitLab 에 저장소 생성1_2) Project 이름 (Test01)1_3) 포함될 그룹을 설정 없다면 개인 계정선택1_4) 설명 ( 옵션 )1_5) 오픈된 프로젝트라면 선택1_6) 클릭으로 생성1_7) 저장소만 존재하기 때문에 기본 페이지에서는 접속 url 만 보인다 복사

1

2

3

4

5

6

7

Page 14: Source tree(git) 사용

5. Push / Pull2) Push

2_1) 상단 “설정”메뉴 클릭2_2) “ 원격” 탭 선택2_3) “ 추가” 버튼 클릭2_4) 체크를 하면 “ origin” 이라는 원격이름자동 생성2_5) “ 리모트 저장소” url 을 입력2_6) “ 확인“ 버튼 클릭2_7) “ 원격 저장소” 경로가 보여짐2_8) “ 확인“ 버튼 클릭

1

2

3

45

6

7

8

Page 15: Source tree(git) 사용

5. Push / Pull2) Push

2_9) 좌측에 “원격 저장소 브랜치“가 보이게 된다 .2_10) 상단 “푸시“ 메뉴 클릭 하면 대화상자가열림2_11) 우리는 “ develop” 만 체크 ( 우리는 “ develop” 만 사용 하기로함 )2_12) “ 확인” 버튼 클릭

910

11

12

Page 16: Source tree(git) 사용

5. Push / Pull2) Push

2_13) “Push” 후 “로그 / 히스토리”를 보면 “ 원격 저장소 브랜치”의 헤더가 “master”, “develop” 과 같은 선상에 놓여진 것을 확인할 수 있다

2_14) “ 원격 저장소”의 “ Files” 부분을 보면 test.txt 파일이 잘 올라가 있는 것을 확인할 수 있다

2_15) 데모

13

14

Page 17: Source tree(git) 사용

5. Push / Pull (Clone)3) Pull

3_1) 우측 상단 “설정“ 메뉴 클릭3_2) “ 저장소 복제“ 탭 선택 ( 기본 선택이 되어있음 )3_3) “ 원격 저장소” 경로를 입력3_4) 복제할 디렉토리를 선택 ( 대화상자 오픈 )3_5) “ 클론“ 버튼 클릭

23

4

5

1

Page 18: Source tree(git) 사용

5. Push / Pull (Clone)3) Pull

3_6) 상단 “브랜치“ 메뉴를 클릭 ( 대화상자 )3_7) “ 새 브랜치“ 영역에 “ master” 라고 입력3_8) “ 브랜치 생성“ 버튼 클릭3_9) “master” 브랜치가 생성된걸 확인할 수 있다

67

8

9

Page 19: Source tree(git) 사용

5. Push / Pull (Clone)3) Pull

3_10) 초기화를 위한 “깃 플로우…” 버튼을 클릭( 대화상자 )

3_11) “ 확인“ 버튼을 클릭3_12) 데모

10

11

Page 20: Source tree(git) 사용

6. Branch1) Develop Branch 생성

1_1) “ 깃 플로우…” 버튼 클릭 ( 대화상자 )1_2) “ 새 기능 시작“ 버튼 클릭1_3) 본인이 알아볼 수 있는 기능명 ( 짧은 ) 입력1_4) “ 확인“ 버튼 클릭1_5) 좌측에 새 브랜치가 생성된걸 볼 수 있다1_6) “ 로그 / 히스토리” 에서 헤더의 위치를 확인할수 있다1_7) 데모

1

2

3

4

56

Page 21: Source tree(git) 사용

6. Branch2) 기능 마무리

2_1) 작업을 완료 했다는 전제

2_2) “ 깃 플로우…” 버튼 클릭 ( 대화상자 )2_3) “ 기능 마무리“ 버튼 클릭2_4) “ 확인“ 버튼으로 마무리2_5) 데모

2

3

4

Page 22: Source tree(git) 사용

7. 시나리오 ( 데모 )1) 시나리오 1

1_1) “ 가“ 군 혼자 작업1_2) “ 가” 군이 “ A” PC 에서 작업 후 “원격 저장소”에 “ Push”1_2) “ 가” 군이 “ B” PC 에서 “원격 저장소”에서 “ Clone” 하고 난 후 작업

2) 시나리오 22_1) “ 가” 와 “나” 군이 동시에 작업2_2) “ 가” 군이 작업 중 “나“ 군이 “원격 저장소”에 “ Push”2_3) “ 가” 군이 “ Fetch”2_4) “ 원격 저장소”에 변경사항이 있음2_5) 로컬 저장소에 병합2_6) “ 원격 저장소”에 “ Push”

Page 23: Source tree(git) 사용

7. 시나리오 ( 데모 )3) 시나리오 3

3_1) “ 가“ 군 혼자 작업3_2) “ 가” 군이 “ develop” 브랜치에서 “ job01” 브랜치를 생성해서 작업중3_3) “job01” 브랜치에서 작업중 다른 작업 요청3_4) “job01” 브랜치에서 작업을 중지하고 “커밋“3_5) “develop” 브랜치로 체크아웃을 하고 “ job02” 브랜치 생성3_6) “job02” 에서 작업 완료 후 “커밋” , “ 기능마무리“를 통해 “ develop” 브랜치로 병합3_7) “ 리모트 저장소”로 “ Push”3_8) “job01” 브랜치로 체크아웃 “ job01” 브랜치에서 “ develop” 브랜치를 병합3_9) “job01” 작업 완료 후 “커밋“ 3_10) “ 기능마무리”를 통해 “ develop” 브랜치로 병합3_11) “ 리모트 저장소”로 “ Push”

4) 시나리오 4* 2) 와 3) 시나리오의 혼합

Page 24: Source tree(git) 사용

8. 참고• http://gmood.tistory.com/378 ( 형상관리 정의 )