PowerPoint 프레젠테이션

Similar documents
github_introduction.key

슬라이드 1

<3833C8A35FB0F8C7D05FC6AEB7BBB5E55F F466C6F77B8A65FC8B0BFEBC7D15FC8BFB0FAC0FBC0CE5FBCD2BDBA5FC7FCBBF35FB0FCB8AE5F F322E687770>

리눅스기초

git CLI 로간단하게조작하기! by 윤선지

PowerPoint 프레젠테이션

PowerPoint Presentation

SourceTree 를이용한 Git 사용법 1

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

슬라이드 1

Microsoft PowerPoint - 08_(Linux)_(Fundamental)_Version_Control_Systems

svn 을능숙하게다루던능력자들처음 git 을만나면대게이런표정이죠.

PowerPoint 프레젠테이션

문서의 제목 나눔고딕B, 54pt

<3836C8A35FB0F8C7D05FC6AEB7BBB5E55F F466C6F77B8A65FC8B0BFEBC7D15FC8BFB0FAC0FBC0CE5FBCD2BDBA5FC7FCBBF35FB0FCB8AE5F F332E687770>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

네이버 오픈소스 세미나 key

PowerPoint 프레젠테이션

GIT/GITHUB 사용 1 Git & GitHub 튜토리얼 출처 : [Studio Rini ] Git 을보통어떻게사용하는지간략한 Flow 를보겠습니다. 1. 새프로젝트를생성, 프로젝트폴더에 g

PowerPoint 프레젠테이션

Software Verification Team 오준 임국현 주영진 김슬기

RHEV 2.2 인증서 만료 확인 및 갱신

PowerPoint 프레젠테이션

LXR 설치 및 사용법.doc

PowerPoint 프레젠테이션

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

다. 최신 버전의 rpm 패키지 버전을 다운로드해 다음과 같이 설 치한다. 단 debuginfo의 rpm 패키지는 설치할 필요가 없다. 하기 위한 옵션이고, init는 저장소를 초기화하기 위한 cvs 명령 어이다. - 새로 설치한 경우 : rpm -ivh cvs* -

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Remote UI Guide

슬라이드 1

Windows 10 General Announcement v1.0-KO

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

The Pocket Guide to TCP/IP Sockets: C Version

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

PowerPoint 프레젠테이션

Dropbox Forensics

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

리눅스 프로세스 관리

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

Slide 1

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

운영체제실습_명령어

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

Solaris Express Developer Edition

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Cloud Friendly System Architecture

1. 도구개요 Configuration & Version Management CVS 소개 버전컨트롤시스템으로소스코드나기타리소스의히스토리를쉽게관리할수있도록도와주는도구 주요기능 버전관리, 변경관리, 소스관리 카테고리 Configuration & Version Managem

PowerPoint 프레젠테이션

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

PowerPoint 프레젠테이션

Assign an IP Address and Access the Video Stream - Installation Guide

작성자 : 기술지원부 김 삼 수

Install stm32cubemx and st-link utility

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

<31325FB1E8B0E6BCBA2E687770>

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Microsoft PowerPoint 통신 및 압축 명령어.ppt

Microsoft Word - src.doc

PowerPoint Template

임베디드디바이스개발시커널로리눅스를많이사용하는데, 그때그커널과함께리눅스명령어도필요하게된다. 모든명령어를지원하기위해서는다수의개별적인패키지들이필요하다. 한프로젝트에서그많은명령어를한번에지원해준다면자원제약적인임베디드환경에서공간효율성이극대화될것이다. 상대적으로경량화된리눅스명령어세

H3050(aap)

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일


Microsoft PowerPoint - comp_prac_081223_2.pptx

1217 WebTrafMon II

¿ÀǼҽº°¡À̵å1 -new

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Unix & Linux 개요 Company 서울대학교통계학과 2010년 2학기컴퓨터의개념및실습 ( Thanks to: cancho & facewhite from SPARC/KAIST, Bruce La Plante fro

Transcription:

공개 SW 솔루션설치 & 활용가이드 응용 SW > 협업관리 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide

CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리

- 3-1. 개요 소개 주요기능 분산형버전컨트롤시스템 (Distributed Version Control System) Linux 커널소스코드의버전컨트롤위해리누스토발즈에의해개발 텍스트형태에특화된, 그러나거의모든파일의버전컨트롤 분산된개발자들간의협업위한구조와프로토콜제공 빠른속도와성능 대분류 응용 SW 소분류 협업관리 라이선스형태 GPL v2 사전설치솔루션 N/A 실행하드웨어 일반데스크탑사양의하드웨어버전 2.19.1 (2018 년 10 월기준 ) 특징보안취약점개발회사 / 커뮤니티공식홈페이지 분산된버전컨트롤과협업지원 기존분산시스템대비빠른속도제공 리눅스, 윈도우, MacOS 등대다수운영체제지원 Github, gitlab, sourceforge, bitbucket 등다수의프로젝트관리서비스에서 git 지원 취약점 ID : CVE-2017-1000117 심각도 : 8.8 HIGH(V3) 취약점설명 : Git 'ssh : // URL 처리결함으로원격사용자가대상시스템에서임의의명령실행가능 대응방안 :2.14.1 이상으로업데이트 참고경로 : https://www.securityfocus.com/bid/100283 Git 개발커뮤니티 / git@vger.kernel.org https://git-scm.com

- 4-2. 기능요약 로컬시스템내에서의버전관리 (init, add, commit) 버전별변경내용, 시간, 변경내용요약메세지관리 (log, show, status, diff) 개발분기화와분기된개발버전간통합 (branch, merge) 특정버전으로의회귀 (checkout) 특정변경내용의취사적통합 (cherry-pick) 최신원격저장소로의변경사항재적용 (rebase) 특정변경유발한버전찾는바이너리탐색 (bisect) 분산된원격저장소관리 (clone, remote)

- 5-3. 실행환경 대다수의리눅스배포판과 Mac OS 에는 git 이설치되어있음 Git 공식사이트 (https://git-scm.com/downloads) 에서운영체제별설치파일다운로드 받을수있음 커맨드프롬프트에서 git v 명령통해현재설치된 git 버전확인가능 다양한 GUI 클라이언트가존재하며 (https://git-scm.com/downloads), 다수의 IDE 에서도 git 지원 본문서는 Ubuntu 16.04 에서터미널통해 git 사용하는경우설명

- 6-4. 설치및실행 세부목차 4.1 저장소만들기 (git init) 4.2 파일들의버전상태확인하기 (git status) 4.3 변경된내용새로운버전으로만들기 (git add, git commit) 4.4 현재변경한내용보기 (git diff) 4.5 버전기록보기 (git log) 4.6 특정파일제거한버전만들기 (git rm) 4.7 이전버전으로되돌리기 (git revert)

- 7-4. 설치및실행 4.1 저장소만들기 (git init)(1/2) 저장소는 git 으로버전관리하는대상파일들과버전관리정보담는디렉토리 Repository 또는 repo 라고도줄여서부름 특정디렉토리에서 git init 명령어입력하면해당디렉토리가 git 저장소로초기화 쓰기 / 읽기권한만있다면어떤계정으로어떤디렉토리에서작업하는지는상관없음 저장소가정상적으로초기화되면메시지가뜸 저장소로사용할디렉토리생성하고그안으로이동 $ mkdir the_repo; cd the_repo $ git init Initialized empty Git repository in the_repo/.git/ $

- 8-4. 설치및실행 4.1 저장소만들기 (git init)(2/2) Git 저장소는버전컨트롤대상이되는파일들이존재하는공간 ( 워킹스페이스 ) 과버전컨트롤위한관리정보 (metadata) 담는공간으로나뉨 워킹스페이스의파일들은 git 저장소디렉토리에존재 후자는.git 라는이름의디렉토리로 git 저장소디렉토리아래존재하며, 리눅스에서. 으로시작하는이름의파일 / 디렉토리는숨김설정되므로평범하게는보이지않음 ls a 명령어사용하면숨김파일도볼수있으므로,.git 디렉토리확인 $ ls -a....git $

- 9-4. 설치및실행 4.2 파일들의버전상태확인하기 (git status) 저장소내에서 git status 명령통해현재저장소내의파일들의상태알수있음 저장소디렉토리내에존재하지만아직버전정보가관리되지않고있는파일, 마지막버전 이후변경내용이존재하는파일, 삭제된파일등표시 $ echo hello > hello $ git status On branch master hello 라는텍스트담고있는, hello 라는이름의파일생성 Initial commit Untracked files: (use "git add <file>..." to include in what will be committed) hello 저장소디렉토리에존재하지만이저장소에서버전이관리되지않고있는파일 nothing added to commit but untracked files present (use "git add" to track)

- 10-4. 설치및실행 4.3 변경된내용새로운버전으로만들기 (git add, git commit) git add 명령통해특정파일들의현재내용이다음버전이될것 git 에알릴수있음 git commit 명령은 git add 통해등록된내용실제버전으로만듬, -m 옵션통해해당 버전에대한설명하는메시지등록 $ git add hello $ git status On branch master Initial commit Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: hello Hello 파일이다음버전으로변경될것임의미 $ git commit -m "Add hello file" [master (root-commit) 1b8505e] initial commit 1 file changed, 1 insertion(+) create mode 100644 hello $

- 11-4. 설치및실행 4.4 현재변경한내용보기 (git diff) git diff 명령통해현재버전관리중인파일의변경된내용볼수있음 $ echo hello world > hello $ git diff diff --git a/hello b/hello index ce01362..3b18e51 100644 --- a/hello +++ b/hello @@ -1 +1 @@ -hello +hello world $ hello 파일의내용이 hello 에서 hello world 로변경되었음의미

- 12-4. 설치및실행 4.4 버전기록보기 (git log)(1/2) git log 명령통해그동안의버전정보볼수있음 이정보에는버전의 ID, 해당버전만든사람, 해당버전이만들어진시간, 해당버전에남 긴메시지가있음 $ git log commit 71ab1baad6e376fce4ee240b0ffa438a2f11ac10 Author: SeongJae Park <sj38.park@gmail.com> Date: Mon Oct 29 07:29:31 2018 +0900 hello: Update to hello world 버전의 ID 이버전만든사람 이버전이만들어진시간 commit b209ff04de1f1f20778ddd764055252c7691eb05 Author: SeongJae Park <sj38.park@gmail.com> Date: Mon Oct 29 07:29:07 2018 +0900 $ Add hello file

- 13-4. 설치및실행 4.4 버전기록보기 (git log)(2/2) git show 명령통해특정버전의전버전대비변경내용볼수있음, 인자로버전 ID 줘서 어떤버전의전버전대비변경내용볼지지정 $ git show 71ab1 commit 71ab1baad6e376fce4ee240b0ffa438a2f11ac10 Author: SeongJae Park <sj38.park@gmail.com> Date: Mon Oct 29 07:29:31 2018 +0900 71ab1 으로시작하는버전 ID 의버전의상세정보요청 hello: Update to hello world diff --git a/hello b/hello index ce01362..3b18e51 100644 --- a/hello +++ b/hello @@ -1 +1 @@ -hello +hello world hello 였던내용 hello world 로변경했음.

- 14-4. 설치및실행 4.5 특정파일제거한버전만들기 (git rm) git rm 명령은다음버전부터더이상버전관리하지않파일지정 git commit 명령통해다음버전만들어줘야실제로해당파일이버전관리대상에서사라 짐 $ git rm hello rm 'hello' sjpark@kabylab:~/git_solution$ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) deleted: hello sjpark@kabylab:~/git_solution$ git commit -m "hello: Stop version control" [master ed5b186] hello: Stop version control 1 file changed, 1 deletion(-) delete mode 100644 hello sjpark@kabylab:~/git_solution$ git status On branch master nothing to commit, working tree clean

- 15-4. 설치및실행 4.6 이전버전으로되돌리기 (git revert) git revert 명령은특정버전에서변경한내용무효화하는버전만듦 명령수행시무효화버전의메시지입력하는텍스트에디터가뜸, 메시지저장하고에디 터종료하면파일내용이이전버전으로되돌려진걸볼수있음 $ git revert ed5b1 [master afc4a5d] Revert "hello: Stop version control" 1 file changed, 1 insertion(+) create mode 100644 hello sjpark@kabylab:~/git_solution$ git log commit afc4a5d677df21e51d92edad587fcac3ec833bc5 Author: SeongJae Park <sj38.park@gmail.com> Date: Mon Oct 29 07:45:04 2018 +0900 ed5b1 으로시작하는 id 의버전의변경내용되돌린다. Revert "hello: Stop version control" This reverts commit ed5b1866f08603444364b56fd04b523aa2de58e6. commit ed5b1866f08603444364b56fd04b523aa2de58e6 Author: SeongJae Park <sj38.park@gmail.com> Date: Mon Oct 29 07:39:42 2018 +0900 hello: Stop version control

- 16-5. 기능소개 세부목차 5.1 브랜치개념 5.2 브랜치목록보기 5.3 브랜치생성및이동하기 5.4 다른브랜치와병합하기

- 17-5. 기능소개 5.1 브랜치개념 (1/2) 두개의버전사이에전 / 후 ( 부모, 자식이라고도함 ) 관계가존재 하나의버전이두개이상의자식버전가질수도있으며, 저장소의버전들은하나의뿌리를공유하지만여러개의가지 (branch) 갖는나무처럼보여질수있음 각각의가지브랜치라하며, 기존과다른개발과정으로분기하는데사용 버전은두개이상의부모버전가질수도있음, 두개의브랜치의최신버전부모로갖는버전만드는것두개의브랜치병합 (merge) 한다고표현 Initial commit 브랜치 A 브랜치 B

- 18-5. 기능소개 5.1 브랜치개념 (2/2) 브랜치는다양한목적으로사용될수있으며, git 에서매우많이사용되는기능 빠른시일내에릴리즈가예정되어있는데그때까지마무리하기어려운신규기능구현하는경우라면별도브랜치에서신규기능구현하고, 릴리즈후에기존브랜치에해당신규기능병합시킬수있음신규기능이별도브랜치에서개발되는동안, 빠른시일내에수정가능한간단한버그는기존브랜치에서재빨리수정하고릴리즈할수있음 Initial commit Quick fix 버전 1 릴리즈 릴리즈브랜치 신규기능브랜치

- 19-5. 기능소개 5.2 브랜치목록보기 git branch 명령은현재저장소에존재하는브랜치목록보여줌 목록중현재저장소가따라가고있는브랜치에는 * 표시, 새로 git commit 통해버전만들면해당브랜치는이 * 표시가된브랜치의최신버전됨 master 브랜치는 git init 시에기본적으로만들어주는브랜치 $ git branch * master $

- 20-5. 기능소개 5.3 브랜치생성및이동하기 git branch 명령에새브랜치이름인자로주면해당이름의브랜치생성 git checkout 명령에브랜치이름인자로주면해당브랜치로이동 브랜치이동하면워킹스페이스의파일들이해당브랜치최신버전의내용으로바뀜 브랜치이동후버전만들면이동된브랜치의최신버전됨 $ git branch * master $ git branch new_branch $ git branch * master new_branch $ git checkout new_branch Switched to branch 'new_branch' $ git branch master * new_branch

- 21-5. 기능소개 5.4 다른브랜치와병합하기 git merge 결과타겟브랜치최신버전과현재브랜치의최신버전의내용이병합된새로운 버전생성 git merge 로생성된버전은현재브랜치의최신버전이되며, 현재브랜치의기존최신 버전과타겟브랜치의최신버전부모브랜치로갖게됨 $ git merge new_branch Merge made by the 'recursive' strategy. bye 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bye $ git log --graph --oneline * 0fb9c35 Merge branch 'new_branch' \ * 41f0c59 Add bye file * ed5b186 hello: Stop version control * 71ab1ba hello: Update to hello world / * b209ff0 Add hello file $ master 브랜치의최신버전 new_branch 브랜치의최신버전 master 브랜치의버전 master 브랜치의버전

- 22-6. 활용예제 세부목차 6.1 원격저장소개념 6.2 원격저장소복사하기 6.3 원격저장소추가하기 6.4 원격저장소의버전가져오기 6.5 원격저장소로버전보내기 6.6 패치만들기 6.7 패치보내고받기 6.8 패치주고받는다른방법들

- 23-6. 활용예제 6.1 원격저장소개념 과거의중앙형버전관리시스템의저장소는중앙서버와클라이언트로구성되어, 모든버전데이터는서버에존재하고, 개발자들은클라이언트통해여기접속하는구조였음 Git 은서버 / 클라이언트없이모든개발자가자신의저장소가지며저장소간에버전정보를주고받으며협업할수있게하는분산버전관리시스템의형태임 따라서별도로중앙저장소가존재하지않고, 남들의저장소중공신력있는개발자의저장소에개발한내용이모이게되고, 그렇게모인최신버전다른개발자들이자신의저장소에가져가게되는, 유연하고안정적인협업모델구축 남의저장소원격저장소 (remote repository) 라고함

- 24-6. 활용예제 6.2 원격저장소복사하기.git 디렉토리로접근가능한프로토콜제공하는저장소는해당프로토콜통해복사가가능 하며, 주로사용되는프로토콜은 http, https, ssh 등이고, git 독자프로토콜존재 git clone 명령통해원격저장소자신의컴퓨터위로복사가능 복사된저장소는명령내린디렉토리아래생성됨 저장소의원격저장소정보는 git remote 명령통해확인가능 $ git clone https://github.com/git/git Cloning into 'git'... remote: Enumerating objects: 1, done. remote: Counting objects: 100% (1/1), done. remote: Total 257917 (delta 0), reused 0 (delta 0), pack-reused 257916 Receiving objects: 100% (257917/257917), 102.83 MiB 11.28 MiB/s, done. Resolving deltas: 100% (190967/190967), done. $ ls git $ cd git; git remote -v origin https://github.com/git/git (fetch) origin https://github.com/git/git (push) $

- 25-6. 활용예제 6.3 원격저장소추가하기 프로젝트의기능별로다른관리자가존재하는경우 (Linux 커널이이에해당 ) 특정기능관리자의저장소가해당기능위한최신버전가지고있으므로여러원격저장소추가하고필요에따라각저장소의파일가져와작업해야함 git remote add 명령통해직접원격저장소추가할수있음 $ git remote add korg git://git.kernel.org/pub/scm/git/git.git $ git remote -v korg git://git.kernel.org/pub/scm/git/git.git (fetch) korg git://git.kernel.org/pub/scm/git/git.git (push) origin https://github.com/git/git (fetch) origin https://github.com/git/git (push) $

- 26-6. 활용예제 6.4 원격저장소의버전가져오기 git remote update 명령은원격저장소의버전들가져옴 git fetch < 원격저장소이름 > 명령통해특정원격저장소의버전들만가져올수있음 git checkout 명령에 < 원격저장소이름 >/< 원격저장소의브랜치이름 > 인자로줘서특정원격저장소의특정브랜치파일워킹스페이스로가져올수있음 $ git remote update Fetching origin Fetching korg $ git fetch origin $ git checkout origin/master Note: checking out 'origin/master'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout.

- 27-6. 활용예제 6.5 원격저장소로버전보내기 git push < 원격저장소이름 > < 브랜치이름 > 명령은특정저장소로특정브랜치의버전들 보냄 해당원격저장소로쓰기권한이있어야만가능 $ git push self master Username for 'https://github.com': sjp38 Password for 'https://sjp38@github.com': Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 358 bytes 0 bytes/s, done. Total 3 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 100% (2/2), completed with 2 local objects. To https://github.com/sjp38/git.git c670b1f..1597845 master -> master $

- 28-6. 활용예제 6.6 패치만들기 협업하는경우라면자신이만든버전의파일상대방과공유해야함 간단한내용은변경사항담은패치만들어프로젝트관리자에게보내고, 이걸프로젝트관리자가자신의저장소에반영하는게일반적임 git format-patch < 버전 > 명령이용해대상버전으로부터현재워킹스페이스버전사이의버전들패치파일들로만들수있음 $ git format-patch origin/master 0001-README-Meaninglessly-for-example.patch $ cat 0001-README-Meaninglessly-for-example.patch origin 원격저장소의 master 브랜치최신버전으로부터현재최신버전사이의버전들패치로만들어냄 From dbeaa067e34816c3bc638679342186e5b66abae7 Mon Sep 17 00:00:00 2001 From: SeongJae Park <sj38.park@gmail.com> Date: Mon, 29 Oct 2018 09:40:09 +0900 Subject: [PATCH] README: Meaninglessly for example

- 29-6. 활용예제 6.7 패치보내고받기 git send-email 명령통해특정패치파일특정사용자에게이메일로보낼수있음 메일전송위해서메일서버설정은별도로해줘야함 git am 명령은남들로부터받은패치자신의저장소적용 $ git send-email --to sj38.park@gmail.com 0001-README-Meaninglessly-forexample.patch 0001-README-Meaninglessly-for-example.patch From: SeongJae Park <sj38.park@gmail.com> To: sj38.park@gmail.com Subject: [PATCH] README: Meaninglessly for example Date: Mon, 29 Oct 2018 09:47:31 +0900 $ git am 0001-README-Meaninglessly-for-example.patch Applying: README: Meaninglessly for example $ git log --oneline 1597845 README: Meaninglessly for example c670b1f Sixth batch for 2.20 16ce0b9 Merge branch 'js/mingw-default-ident'

- 30-6. 활용예제 6.8 패치주고받는다른방법들 협업자들간에수정한내역주고받는데는이외에도다양한방법있음 작은프로젝트에서는하나의원격저장소에협업자모두가 git push 하기도함 타인이접근할수있는자신의저장소에최신버전올려두고타인에게자신의저장소주소와최신버전올려둔브랜치이름알려줘서타인이직접해당버전들가져갈수있게하기도하며, 이런이야기알리는메시지풀리퀘스트 (pull request) 라고함 Git 저장소호스팅및협업서비스제공하는 github에서는 web interface 통해 pull request 주고받수있는기능제공

- 31-7. FAQ Q A git revert 는버전되돌린다는변경사항이남는데어떤기록도없이예전버전으로되돌릴수는없나요? 해당하는예전버전으로브랜치새로만들고거기서부터재시작하는방법도있 습니다. 그외에도 git reset hard 등의명령이용하는방법이있습니다만, 일반적으로권장되는방법이아니라이문서에서는설명하지않습니다. Q 꼭 CLI 로 git 다뤄야만하나요? A 문서에서도설명했듯 git 위한많은 GUI 도구들이나와있습니다. 하지만모 든 GUI 도구들이모든 git 기능지원하는건아니라서일부심화기능은사용 이어려울수도있습니다.

- 32-8. 용어정리 용어 저장소 (Repository) 커밋 (Commit) 브랜치 (Branch) 원격저장소 (Remote repository) 푸시 (Push) 패치 (Patch) 풀리퀘스트 (Pullrequest) 설명 Git 이용해관리되는파일들과그관리정보담는디렉토리 버전만드는행위, 또는특정버전의스냅샷 부모 - 자식관계로엮인버전들의연결 https, ssh, git 등의프로토콜통해접근가능한타인의 git 저장소 로컬저장소의변경사항원격저장소로업데이트하는행위 소스코드의변경사항설명하는파일 자신의버전이어느주소의원격저장소에있으니자신의저장소로가져가달라는요청메시지

Open Source Software Installation & Application Guide 이저작물은크리에이티브커먼즈 [ 저작자표시 비영리 동일조건변경허락 2. 0 대한민국라이선스 ] 에따라이용하실수있습니다.