SlideShare une entreprise Scribd logo
1  sur  24
1) 설치 URL
https://www.sourcetreeapp.com/
Download SourceTree Free 버튼을 통해 다운로드 후 설치(생략)
2) 기본설정
도구 > 옵션
Git 탭을 선택 > 파일수정 클릭
리모트 저장소(Git) 에 올리지 말아야 할 확장자 및 폴더를 설정 (모든 플젝에 적용됨 Global)
1) 로컬 저장소 생성
1_1) 1번 “복제 / 생성” 버튼을 클릭
1_2) (혹은) 2번 오른쪽 마우스 클릭 후 나타나는
팝업 창에서 “새 저장소 생성“ 선택
1
2
1) 로컬 저장소 생성
1_3) 저장소를 위치를 선택
1_4) 좌측 탐색기에 생성될 이름을 설정 (1_3 에서 폴더를 선택하면 자동으로 폴더 명으로 설정됨)
3
4
1) 로컬 저장소 생성
1_5) 좌측 탐색기에 저장소(Test01) 이 표시
1_6) 현재 작업중인(열린) 프로젝트를 탭으로 표시
* 이후 작업 (여기선 .txt 파일 하나 생성)
1_7) 데모
5
6
2) 프로젝트 설정
2_1) 우측 상단 “설정” 버튼 클릭
2_2) 현재 “원격 저장소”가 없기 때문에
패스
2_3) “원격 저장소“ 에 올리지 말아야 할 확장자 및 폴더를 설정
(현재 프로젝트에만 국한됨)
2_4) “커밋”시 사용자 정보에 기록될 정보 (이름, 이메일)
* 작업을 했다고 가정 (test.txt 파일 생성)
1
2
3
4
2) 프로젝트 설정
2_5) 클릭하여 변경 되거나 새로 추가된
파일의 내용을 2_6)에서 볼 수 있다.
2_6) 체크박스를 통해 스테이지로 올릴
수 있다 (스테이지에 올려야만
“커밋”가능)
2_7) 작업된 내용을 입력
2_8) “커밋”한다
5
6
7
8
2) 프로젝트 설정
2_9) 이상없이 “커밋”이 되면 브랜치 영역에
“master” 브랜치가 노출된다
2_10) “로그/히스토리"에도 “master” 헤더가
보여진다
2_11) 상단 큰 아이콘 메뉴에서 “깃 플로우…” 클릭
2_12) 초기화 대화상자가 나온다 “확인“ 클릭
2_13) “develop” 이라는 개발 브랜치가 생성된다
2_14) “로그/히스토리“ 에도 “develop” 헤더가
“master” 헤더와 동일선상에 위치한다
2_15) 데모
10
9
11
12
13
14
1) 리모트 저장소 생성
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
2) Push
2_1) 상단 “설정”메뉴 클릭
2_2) “원격” 탭 선택
2_3) “추가” 버튼 클릭
2_4) 체크를 하면 “origin” 이라는 원격이름
자동 생성
2_5) “리모트 저장소” url 을 입력
2_6) “확인“ 버튼 클릭
2_7) “원격 저장소” 경로가 보여짐
2_8) “확인“ 버튼 클릭
1
2
3
4
5
6
7
8
2) Push
2_9) 좌측에 “원격 저장소 브랜치“가 보이게
된다.
2_10) 상단 “푸시“ 메뉴 클릭 하면 대화상자가
열림
2_11) 우리는 “develop” 만 체크(우리는 “develop”
만 사용 하기로함)
2_12) “확인” 버튼 클릭
9
10
11
12
2) Push
2_13) “Push”후 “로그/히스토리”를 보면
“원격 저장소 브랜치”의 헤더가
“master”, “develop” 과 같은 선상에
놓여진 것을 확인할 수 있다
2_14) “원격 저장소”의 “Files” 부분을 보면
test.txt 파일이 잘 올라가 있는
것을 확인할 수 있다
2_15) 데모
13
14
3) Pull
3_1) 우측 상단 “설정“ 메뉴 클릭
3_2) “저장소 복제“ 탭 선택 (기본 선택이 되어있음)
3_3) “원격 저장소” 경로를 입력
3_4) 복제할 디렉토리를 선택( 대화상자 오픈)
3_5) “클론“ 버튼 클릭
2
3
4
5
1
3) Pull
3_6) 상단 “브랜치“ 메뉴를 클릭 (대화상자)
3_7) “새 브랜치“ 영역에 “master” 라고 입력
3_8) “브랜치 생성“ 버튼 클릭
3_9) “master” 브랜치가 생성된걸 확인할 수
있다
6
7
8
9
3) Pull
3_10) 초기화를 위한 “깃 플로우…” 버튼을 클릭
(대화상자)
3_11) “확인“ 버튼을 클릭
3_12) 데모
10
11
1) Develop Branch 생성
1_1) “깃 플로우…” 버튼 클릭 (대화상자)
1_2) “새 기능 시작“ 버튼 클릭
1_3) 본인이 알아볼 수 있는 기능명(짧은) 입력
1_4) “확인“ 버튼 클릭
1_5) 좌측에 새 브랜치가 생성된걸 볼 수 있다
1_6) “로그 / 히스토리” 에서 헤더의 위치를 확인할
수 있다
1_7) 데모
1
2
3
4
5
6
2) 기능 마무리
2_1) 작업을 완료 했다는 전제
2_2) “깃 플로우…” 버튼 클릭 (대화상자)
2_3) “기능 마무리“ 버튼 클릭
2_4) “확인“ 버튼으로 마무리
2_5) 데모
2
3
4
1) 시나리오1
1_1) “가“ 군 혼자 작업
1_2) “가” 군이 “A” PC 에서 작업 후 “원격 저장소”에 “Push”
1_2) “가” 군이 “B” PC 에서 “원격 저장소”에서 “Clone” 하고 난 후 작업
2) 시나리오2
2_1) “가” 와 “나” 군이 동시에 작업
2_2) “가” 군이 작업 중 “나“ 군이 “원격 저장소”에 “Push”
2_3) “가” 군이 “Fetch”
2_4) “원격 저장소”에 변경사항이 있음
2_5) 로컬 저장소에 병합
2_6) “원격 저장소”에 “Push”
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) 시나리오의 혼합
http://gmood.tistory.com/378

Contenu connexe

Tendances

Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Junyoung Lee
 
Git이란 (Git 소개 및 기초 이론)
Git이란 (Git 소개 및 기초 이론)Git이란 (Git 소개 및 기초 이론)
Git이란 (Git 소개 및 기초 이론)승용 윤
 
디자이너를위한Git #1/2
디자이너를위한Git #1/2디자이너를위한Git #1/2
디자이너를위한Git #1/2Choulhyouc Lee
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git민태 김
 
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴은아 정
 
Eclipse git 튜토리알
Eclipse git 튜토리알Eclipse git 튜토리알
Eclipse git 튜토리알Mirinae, Inc.
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드chandler0201
 
Git 사용 가이드
Git 사용 가이드Git 사용 가이드
Git 사용 가이드도형 임
 
[기초] GIT 교육 자료
[기초] GIT 교육 자료[기초] GIT 교육 자료
[기초] GIT 교육 자료JUNPIL PARK
 
이클립스로 GIT 사용하기
이클립스로 GIT 사용하기이클립스로 GIT 사용하기
이클립스로 GIT 사용하기우영 주
 
Git의 개념과 사용
Git의 개념과 사용Git의 개념과 사용
Git의 개념과 사용환민 홍
 
[NDC16] Effective Git
[NDC16] Effective Git[NDC16] Effective Git
[NDC16] Effective GitChanwoong Kim
 
git, 이해부터 활용까지
git, 이해부터 활용까지git, 이해부터 활용까지
git, 이해부터 활용까지jylee1229
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법주형 고
 
Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Dabi Ahn
 

Tendances (20)

Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)
 
Git이란 (Git 소개 및 기초 이론)
Git이란 (Git 소개 및 기초 이론)Git이란 (Git 소개 및 기초 이론)
Git이란 (Git 소개 및 기초 이론)
 
11. git basic
11. git basic11. git basic
11. git basic
 
디자이너를위한Git #1/2
디자이너를위한Git #1/2디자이너를위한Git #1/2
디자이너를위한Git #1/2
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
 
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴
 
Eclipse git 튜토리알
Eclipse git 튜토리알Eclipse git 튜토리알
Eclipse git 튜토리알
 
Git tutorials
Git tutorialsGit tutorials
Git tutorials
 
Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
 
Git 사용 가이드
Git 사용 가이드Git 사용 가이드
Git 사용 가이드
 
[기초] GIT 교육 자료
[기초] GIT 교육 자료[기초] GIT 교육 자료
[기초] GIT 교육 자료
 
이클립스로 GIT 사용하기
이클립스로 GIT 사용하기이클립스로 GIT 사용하기
이클립스로 GIT 사용하기
 
Git의 개념과 사용
Git의 개념과 사용Git의 개념과 사용
Git의 개념과 사용
 
[NDC16] Effective Git
[NDC16] Effective Git[NDC16] Effective Git
[NDC16] Effective Git
 
git, 이해부터 활용까지
git, 이해부터 활용까지git, 이해부터 활용까지
git, 이해부터 활용까지
 
Git
GitGit
Git
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법
 
Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션Git 기본개념과 사용법 그리고 어플리케이션
Git 기본개념과 사용법 그리고 어플리케이션
 
Advanced git
Advanced gitAdvanced git
Advanced git
 

En vedette

GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서jungseob shin
 
Don't Fear the Branch - Marcus Bertrand
Don't Fear the Branch - Marcus BertrandDon't Fear the Branch - Marcus Bertrand
Don't Fear the Branch - Marcus BertrandAtlassian
 
Git의 Commit과 Branch
Git의 Commit과 BranchGit의 Commit과 Branch
Git의 Commit과 BranchJongEun Lee
 
협업하는 디자이너 - #2 git
협업하는 디자이너 - #2 git협업하는 디자이너 - #2 git
협업하는 디자이너 - #2 gitJinkyou Son
 
협업하는 디자이너 - #1 git설치하기
협업하는 디자이너 - #1 git설치하기협업하는 디자이너 - #1 git설치하기
협업하는 디자이너 - #1 git설치하기Jinkyou Son
 
스타트업을 위한 디자인@campus seoul
스타트업을 위한 디자인@campus seoul스타트업을 위한 디자인@campus seoul
스타트업을 위한 디자인@campus seoulparksanghyun
 
MSBuild + Git + Jenkins
MSBuild + Git + JenkinsMSBuild + Git + Jenkins
MSBuild + Git + Jenkins선협 이
 
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)NAVER D2
 
logback 세미나 발표자료
logback 세미나 발표자료logback 세미나 발표자료
logback 세미나 발표자료JungGeun Lee
 
Network 초보자를 위한 Netty
Network 초보자를 위한 NettyNetwork 초보자를 위한 Netty
Network 초보자를 위한 NettyChoulhyouc Lee
 
스프링 어플리케이션의 문제해결사례와 안티패턴
스프링 어플리케이션의 문제해결사례와 안티패턴스프링 어플리케이션의 문제해결사례와 안티패턴
스프링 어플리케이션의 문제해결사례와 안티패턴Sanghyuk Jung
 
아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리라한사 아
 
The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습Hyun-woo Park
 
개발자와 영어 Why and how
개발자와 영어 Why and how개발자와 영어 Why and how
개발자와 영어 Why and howMinwoo Park
 
TensorFlow Tutorial
TensorFlow TutorialTensorFlow Tutorial
TensorFlow TutorialNamHyuk Ahn
 
[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발
[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발
[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발Daniel Juyung Seo
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
Slideshare를 이용한 ppt공유
Slideshare를 이용한 ppt공유Slideshare를 이용한 ppt공유
Slideshare를 이용한 ppt공유Ahyoung Kim
 

En vedette (19)

GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서
 
Don't Fear the Branch - Marcus Bertrand
Don't Fear the Branch - Marcus BertrandDon't Fear the Branch - Marcus Bertrand
Don't Fear the Branch - Marcus Bertrand
 
Git의 Commit과 Branch
Git의 Commit과 BranchGit의 Commit과 Branch
Git의 Commit과 Branch
 
협업하는 디자이너 - #2 git
협업하는 디자이너 - #2 git협업하는 디자이너 - #2 git
협업하는 디자이너 - #2 git
 
Gitlab
GitlabGitlab
Gitlab
 
협업하는 디자이너 - #1 git설치하기
협업하는 디자이너 - #1 git설치하기협업하는 디자이너 - #1 git설치하기
협업하는 디자이너 - #1 git설치하기
 
스타트업을 위한 디자인@campus seoul
스타트업을 위한 디자인@campus seoul스타트업을 위한 디자인@campus seoul
스타트업을 위한 디자인@campus seoul
 
MSBuild + Git + Jenkins
MSBuild + Git + JenkinsMSBuild + Git + Jenkins
MSBuild + Git + Jenkins
 
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
[D2 fest 2014]개발자와 오픈소스(git기반 협업모델 소개)
 
logback 세미나 발표자료
logback 세미나 발표자료logback 세미나 발표자료
logback 세미나 발표자료
 
Network 초보자를 위한 Netty
Network 초보자를 위한 NettyNetwork 초보자를 위한 Netty
Network 초보자를 위한 Netty
 
스프링 어플리케이션의 문제해결사례와 안티패턴
스프링 어플리케이션의 문제해결사례와 안티패턴스프링 어플리케이션의 문제해결사례와 안티패턴
스프링 어플리케이션의 문제해결사례와 안티패턴
 
아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리아라한사의 스프링 시큐리티 정리
아라한사의 스프링 시큐리티 정리
 
The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습
 
개발자와 영어 Why and how
개발자와 영어 Why and how개발자와 영어 Why and how
개발자와 영어 Why and how
 
TensorFlow Tutorial
TensorFlow TutorialTensorFlow Tutorial
TensorFlow Tutorial
 
[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발
[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발
[OSS 개발자 포럼] 오픈소스를 활용한 개발자 자기 개발
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
Slideshare를 이용한 ppt공유
Slideshare를 이용한 ppt공유Slideshare를 이용한 ppt공유
Slideshare를 이용한 ppt공유
 

Similaire à Source tree(git) 사용

[VCS] Git&GitLab_Designer
[VCS] Git&GitLab_Designer[VCS] Git&GitLab_Designer
[VCS] Git&GitLab_DesignerLee Beomho
 
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습 [숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습 Soongsil University
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료BJ Jang
 
02.개발환경 실습교재
02.개발환경 실습교재02.개발환경 실습교재
02.개발환경 실습교재Hankyo
 
git 간단한 사용방법
git 간단한 사용방법git 간단한 사용방법
git 간단한 사용방법Oh Dongju
 
Story About Git_oh4851
Story About Git_oh4851Story About Git_oh4851
Story About Git_oh4851Hyeok Oh
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Jaehoon Kim
 
Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기영우 김
 
Git Tutorial
Git TutorialGit Tutorial
Git TutorialMDLicht
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는GitMario Cho
 
리스펙토링 세미나 - Git, Github 알아보기
리스펙토링 세미나 - Git, Github 알아보기리스펙토링 세미나 - Git, Github 알아보기
리스펙토링 세미나 - Git, Github 알아보기Wooyoung Ko
 
오픈소스소프트웨어 최종프로젝트 발표자료_201716366_김연영
오픈소스소프트웨어 최종프로젝트 발표자료_201716366_김연영오픈소스소프트웨어 최종프로젝트 발표자료_201716366_김연영
오픈소스소프트웨어 최종프로젝트 발표자료_201716366_김연영ssusera234a4
 
제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기Mario Cho
 

Similaire à Source tree(git) 사용 (13)

[VCS] Git&GitLab_Designer
[VCS] Git&GitLab_Designer[VCS] Git&GitLab_Designer
[VCS] Git&GitLab_Designer
 
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습 [숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료
 
02.개발환경 실습교재
02.개발환경 실습교재02.개발환경 실습교재
02.개발환경 실습교재
 
git 간단한 사용방법
git 간단한 사용방법git 간단한 사용방법
git 간단한 사용방법
 
Story About Git_oh4851
Story About Git_oh4851Story About Git_oh4851
Story About Git_oh4851
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축
 
Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기Openstack에 컨트리뷰션 해보기
Openstack에 컨트리뷰션 해보기
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는Git
 
리스펙토링 세미나 - Git, Github 알아보기
리스펙토링 세미나 - Git, Github 알아보기리스펙토링 세미나 - Git, Github 알아보기
리스펙토링 세미나 - Git, Github 알아보기
 
오픈소스소프트웨어 최종프로젝트 발표자료_201716366_김연영
오픈소스소프트웨어 최종프로젝트 발표자료_201716366_김연영오픈소스소프트웨어 최종프로젝트 발표자료_201716366_김연영
오픈소스소프트웨어 최종프로젝트 발표자료_201716366_김연영
 
제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기
 

Source tree(git) 사용

  • 1.
  • 2.
  • 3.
  • 4.
  • 5. 1) 설치 URL https://www.sourcetreeapp.com/ Download SourceTree Free 버튼을 통해 다운로드 후 설치(생략)
  • 6. 2) 기본설정 도구 > 옵션 Git 탭을 선택 > 파일수정 클릭 리모트 저장소(Git) 에 올리지 말아야 할 확장자 및 폴더를 설정 (모든 플젝에 적용됨 Global)
  • 7. 1) 로컬 저장소 생성 1_1) 1번 “복제 / 생성” 버튼을 클릭 1_2) (혹은) 2번 오른쪽 마우스 클릭 후 나타나는 팝업 창에서 “새 저장소 생성“ 선택 1 2
  • 8. 1) 로컬 저장소 생성 1_3) 저장소를 위치를 선택 1_4) 좌측 탐색기에 생성될 이름을 설정 (1_3 에서 폴더를 선택하면 자동으로 폴더 명으로 설정됨) 3 4
  • 9. 1) 로컬 저장소 생성 1_5) 좌측 탐색기에 저장소(Test01) 이 표시 1_6) 현재 작업중인(열린) 프로젝트를 탭으로 표시 * 이후 작업 (여기선 .txt 파일 하나 생성) 1_7) 데모 5 6
  • 10. 2) 프로젝트 설정 2_1) 우측 상단 “설정” 버튼 클릭 2_2) 현재 “원격 저장소”가 없기 때문에 패스 2_3) “원격 저장소“ 에 올리지 말아야 할 확장자 및 폴더를 설정 (현재 프로젝트에만 국한됨) 2_4) “커밋”시 사용자 정보에 기록될 정보 (이름, 이메일) * 작업을 했다고 가정 (test.txt 파일 생성) 1 2 3 4
  • 11. 2) 프로젝트 설정 2_5) 클릭하여 변경 되거나 새로 추가된 파일의 내용을 2_6)에서 볼 수 있다. 2_6) 체크박스를 통해 스테이지로 올릴 수 있다 (스테이지에 올려야만 “커밋”가능) 2_7) 작업된 내용을 입력 2_8) “커밋”한다 5 6 7 8
  • 12. 2) 프로젝트 설정 2_9) 이상없이 “커밋”이 되면 브랜치 영역에 “master” 브랜치가 노출된다 2_10) “로그/히스토리"에도 “master” 헤더가 보여진다 2_11) 상단 큰 아이콘 메뉴에서 “깃 플로우…” 클릭 2_12) 초기화 대화상자가 나온다 “확인“ 클릭 2_13) “develop” 이라는 개발 브랜치가 생성된다 2_14) “로그/히스토리“ 에도 “develop” 헤더가 “master” 헤더와 동일선상에 위치한다 2_15) 데모 10 9 11 12 13 14
  • 13. 1) 리모트 저장소 생성 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
  • 14. 2) Push 2_1) 상단 “설정”메뉴 클릭 2_2) “원격” 탭 선택 2_3) “추가” 버튼 클릭 2_4) 체크를 하면 “origin” 이라는 원격이름 자동 생성 2_5) “리모트 저장소” url 을 입력 2_6) “확인“ 버튼 클릭 2_7) “원격 저장소” 경로가 보여짐 2_8) “확인“ 버튼 클릭 1 2 3 4 5 6 7 8
  • 15. 2) Push 2_9) 좌측에 “원격 저장소 브랜치“가 보이게 된다. 2_10) 상단 “푸시“ 메뉴 클릭 하면 대화상자가 열림 2_11) 우리는 “develop” 만 체크(우리는 “develop” 만 사용 하기로함) 2_12) “확인” 버튼 클릭 9 10 11 12
  • 16. 2) Push 2_13) “Push”후 “로그/히스토리”를 보면 “원격 저장소 브랜치”의 헤더가 “master”, “develop” 과 같은 선상에 놓여진 것을 확인할 수 있다 2_14) “원격 저장소”의 “Files” 부분을 보면 test.txt 파일이 잘 올라가 있는 것을 확인할 수 있다 2_15) 데모 13 14
  • 17. 3) Pull 3_1) 우측 상단 “설정“ 메뉴 클릭 3_2) “저장소 복제“ 탭 선택 (기본 선택이 되어있음) 3_3) “원격 저장소” 경로를 입력 3_4) 복제할 디렉토리를 선택( 대화상자 오픈) 3_5) “클론“ 버튼 클릭 2 3 4 5 1
  • 18. 3) Pull 3_6) 상단 “브랜치“ 메뉴를 클릭 (대화상자) 3_7) “새 브랜치“ 영역에 “master” 라고 입력 3_8) “브랜치 생성“ 버튼 클릭 3_9) “master” 브랜치가 생성된걸 확인할 수 있다 6 7 8 9
  • 19. 3) Pull 3_10) 초기화를 위한 “깃 플로우…” 버튼을 클릭 (대화상자) 3_11) “확인“ 버튼을 클릭 3_12) 데모 10 11
  • 20. 1) Develop Branch 생성 1_1) “깃 플로우…” 버튼 클릭 (대화상자) 1_2) “새 기능 시작“ 버튼 클릭 1_3) 본인이 알아볼 수 있는 기능명(짧은) 입력 1_4) “확인“ 버튼 클릭 1_5) 좌측에 새 브랜치가 생성된걸 볼 수 있다 1_6) “로그 / 히스토리” 에서 헤더의 위치를 확인할 수 있다 1_7) 데모 1 2 3 4 5 6
  • 21. 2) 기능 마무리 2_1) 작업을 완료 했다는 전제 2_2) “깃 플로우…” 버튼 클릭 (대화상자) 2_3) “기능 마무리“ 버튼 클릭 2_4) “확인“ 버튼으로 마무리 2_5) 데모 2 3 4
  • 22. 1) 시나리오1 1_1) “가“ 군 혼자 작업 1_2) “가” 군이 “A” PC 에서 작업 후 “원격 저장소”에 “Push” 1_2) “가” 군이 “B” PC 에서 “원격 저장소”에서 “Clone” 하고 난 후 작업 2) 시나리오2 2_1) “가” 와 “나” 군이 동시에 작업 2_2) “가” 군이 작업 중 “나“ 군이 “원격 저장소”에 “Push” 2_3) “가” 군이 “Fetch” 2_4) “원격 저장소”에 변경사항이 있음 2_5) 로컬 저장소에 병합 2_6) “원격 저장소”에 “Push”
  • 23. 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) 시나리오의 혼합