Title Layout

Similar documents
PowerPoint 프레젠테이션

슬라이드 1

PowerPoint Presentation

github_introduction.key

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

슬라이드 1

PowerPoint 프레젠테이션

SourceTree 를이용한 Git 사용법 1

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

Microsoft PowerPoint - chap01-C언어개요.pptx

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

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

리눅스기초

Windows Server 2012

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

슬라이드 1

슬라이드 1

Microsoft PowerPoint - MonthlyInsighT-2018_9월%20v1[1]

슬라이드 1

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


LATEX과 Mendeley를 활용한 문헌 관리 2017년 2월 6일 제1절 서지 관리 프로그램 연구 주제를 찾거나 선행 연구를 조사하는 가장 대표적인 방법이 문헌들을 찾아보는 것이다. 수없이 많은 논문들을 찾게 되고, 이런 논문들을 다운로드한 후 체계적으로 관리할 필

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

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

PowerPoint 프레젠테이션

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

Windows 8에서 BioStar 1 설치하기

<3836C8A35FB0F8C7D05FC6AEB7BBB5E55F F466C6F77B8A65FC8B0BFEBC7D15FC8BFB0FAC0FBC0CE5FBCD2BDBA5FC7FCBBF35FB0FCB8AE5F F332E687770>

Introduction to Junit, Eclipse, Build Environment

슬라이드 1

System Recovery 사용자 매뉴얼

PowerPoint 프레젠테이션

PowerPoint Presentation

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

기본소득문답2

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Cloud Friendly System Architecture

PowerPoint 프레젠테이션

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

슬라이드 1

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint 프레젠테이션

Slide 1

<3833C8A35FB0F8C7D05FC6AEB7BBB5E55F F466C6F77B8A65FC8B0BFEBC7D15FC8BFB0FAC0FBC0CE5FBCD2BDBA5FC7FCBBF35FB0FCB8AE5F F322E687770>

네이버 오픈소스 세미나 key

PowerPoint 프레젠테이션

±¹Á¦ÆòÈŁ4±Ç1È£-ÃÖÁ¾

내지(교사용) 4-6부

이 드리는 혜택 완벽 을 위한 발환경 : Team Foundation Server 200 & CAL 제공 최저의 비용으로 구현을 위해 Visual Studio Team Foundation Server 200 서버 라이센스와 CAL이 에 포함되어 있습니다 을 모든 팀원이

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

CODESYS 런타임 설치과정

Microsoft Word - ijungbo1_13_02

View Licenses and Services (customer)

/ KOSSLab

PowerPoint 프레젠테이션

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

SIGIL 완벽입문

Office 365 사용자 가이드

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

PowerPoint 프레젠테이션

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

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

THE TITLE

SBR-100S User Manual

mobile_guide_SA

Angry MOMO Presentation

왜곡보정버전업그레이드순서 - Windows 판 - 니콘제품을애용해주셔서대단히감사합니다. 여기에서는왜곡보정의버전업그레이드에대해설명하고있습니다. 그리고니콘서비스센터에서의업데이트도받고있으므로사용하시는환경등으로펌웨어를업데이트할수없는사용자는이용하여주십시오. 사용하시는카메라사용법

gcloud storage 사용자가이드 1 / 17

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Cubase AI installation guide

전체설치와사용자지정설치중원하는설치방식을선택합니다. ArcGIS Desktop 설치경로를지정하면설치가짂행됩니다.

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

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

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

<5B DB1B3C0B0C0DAB8A65FC0A7C7D15FB5F0C0DAC0CEBBE7B0ED5FC5F8C5B62E706466>

Microsoft SQL Server 그림 1, 2, 3은 Microsoft SQL Server 데이터베이스소프트웨어의대표적인멀티플렉싱시나리오와라이선싱요구사항을나타냅니다. ( 참고 : Windows Server와 Exchange Server CAL 요구사항은해당서버에대

160322_ADOP 상품 소개서_1.0

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

정보시스템분야 Stack 통합 Test 결과보고서 [ Trac ]

PowerPoint Presentation

고객 카드

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

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

미친놈과 정상인

<4D F736F F D20C3D6BDC C0CCBDB4202D20BAB9BBE7BABB>

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

Microsoft PowerPoint - 5. 사용자 계정관리-1(2016-1학기).ppt [호환 모드]

PowerPoint 프레젠테이션

Windows 10 General Announcement v1.0-KO

IP 심화 라우팅프로토콜적용시 라우팅테이블에서 이니셜이있는네트워크를설정하는것 : onnected 직접연결된네트워크를의미한다. 그러므로라우팅은 나는이런네트워크와연결되어있다. 를직접연결된라우터들에게알려주는것 1>en 1#conf t 1(config)#router rip 1

PowerPoint 프레젠테이션

Transcription:

2018 년 10 월 최영락 (E-mail: ianyrchoi@gmail.com)

목차 볼만한자료들 Git는무엇일까? GitHub는무엇일까? Git와 GitHub, 그리고오픈소스 2

볼만한자료들 (1) 사실, git 와관련된좋은책도많고, 인터넷에좋은자료들도많습니다. 몇가지책 ( 검색 / 간단히만살펴본것입니다 ) 이미지출처 : yes24.com, 한빛미디어 ( 리얼타임 ) 3

볼만한자료들 (2) 튜토리얼 Git 을시작하기위한간편안내서, 어렵지않아요! http://rogerdudler.github.io/git-guide/index.ko.html Git-scm: http://git-scm.com/book/ko/v1 Atlassian git tutorial ( 영문 ): https://www.atlassian.com/git/ 그림과함께배워보는튜토리얼 : https://learngitbranching.js.org/?locale=ko 한글슬라이드 버전관리를들어본적없는사람들을위한 DVCS Git http://www.slideshare.net/ibare/dvcs-git Svn 능력자를위한 git 개념가이드 http://www.slideshare.net/einsub/svn-git-17386752 Subversion vs. Git: 엄청난간략비교 http://www.slideshare.net/ienvyou/subversion-vs-git-42605130 4

그럼, 이발표의목적은? 오픈소스에서왜 Git 을많이사용할까? GitHub 도있던데, Git 하고같은걸까? 자료읽다보니명령어들이많은데.. Git 을알려면이명령어들을꼭다알아야할까? Branch, Tag 이런것들은무엇일까? Merge 와 Rebase 도있던데.. Pull, Push, Pull Request? + 오픈소스와함께 Git & GitHub 를이야기해보고싶었습니다. 5

( 시작하기전, 한가지참고!) 일부설명들은편의를위해정확한내용을담고있지않을수도있습니다. 해당부분을보신분께서는, 또는덧붙이고싶은내용이있으신분께서는 ianyrchoi@gmail.com 으로알려주시면내용을수정 / 보완하고자합니다. 6

Git 는무엇일까? Git 버전관리를위한도구 리눅스커널의창시자, 리누스토발스께서직접만드심 BitKeeper 라는상용도구를무료사용하여버전관리를했었는데무료사용이제고되면서직접만들게되었다고함 이미지출처 : http://izquotes.com/quote/273567 7

질문 1: 버전관리란무엇인가요? 소스하나또는묶음을하나의버전으로간주하여관리합니다. 파일 / 폴더를추가 / 수정 / 삭제하여사람이직접묶음을버전으로관리하자고지정 원하는때예전버전내용전체를되돌려볼수있음 특히복잡한코드개발할때는이전버전과비교해보기가쉬워짐 ( 버전 1) ( 버전 2) 파일 1 개또는여러개수정 ( 버전 3) 파일 1 개또는여러개수정 8

질문 2. 버전관리를대체언제사용하나요? 1) 개발협업을위해사용합니다. 전체개발소스를공유하면서개발파트를나누어공유 같은모듈을개발하더라도소스를서로공유하면서개발 이때, 특정파일은변경하지못하도록 lock 을걸수도있습니다 ( 이걸로퇴근못하는직원분들도꽤 ) 개발자 A 모듈 A 개발자 B 모듈 B 권한설정을통해각개발자별로접근가능한소스목록도제어하기도합니다. 2) 개별적으로버전등이력을관리하기위해사용하는경우도있습니다. 3) 버전관리되는내역전체를오픈소스로공유하기도합니다. 개발프로젝트전체소스 개발자 C 모듈 A 11

질문 3. 다른버전관리도구들은? 오픈소스버전관리도구 CVS: 90년대말 2000년대쯤? 아는분들은사용한다고들었던버전관리도구 Subversion (SVN) 이대중화되면서쓰는사람들이많이줄었던것같음 Subversion (SVN): 여러파일업로드중실패시롤백 ( 원자성, atomicity), 이진파일지원, rename ( 파일이름변경도이력관리 ) 등 CVS를대체가능한많은기능이추가되어많은사용자들이 CVS에서전환된것으로알고있습니다. 오늘날과같이 Git이많이사용되기전가장보편화되었던버전관리도구 Mercurial: Git와비슷한류의분산버전관리도구라고합니다. 상용버전관리도구 제가써본건 Microsoft Visual SourceSafe 와 Team Foundation Server 밖에.. 12

질문 4. 분산 버전관리도구는머가다른가요? 이를설명하기위해보통 Subversion 과 Git 를많이비교합니다. Subversion 은버전관리를하려면반드시 Subversion 서버와통신하여버전을관리해야합니다. 반면, Git 는네트워크가되지않아도우선자신의컴퓨터에서버전관리를하고네트워크통신이될때서버와통신해도됩니다. 이런이야기도있었습니다. 미국의개발자들은인터넷이안되는휴양지에가서도 Git 를이용하면충분히개발할수있고, 나중에인터넷되는곳에가서서버와쭉통신하여업무를할수도있다고.. 반면한국은인터넷이아주잘되니 Git 가대중화되지않을수도있겠다고 그런데, 요즘은 Git 이많이사용되네요 13

질문 5. Git 명령어들을꼭익혀야하나요? 적어도초창기에는그랬습니다. 지금도 Git 를잘쓰려면명령어들을알면도움이많이됩니다. 요즘엔명령어들을몰라도 pull, push, commit 등의기본개념만알면쓸수있는좋은 GUI 들이많습니다. TortoiseGit, gitk, Sourcetree, GitHub Desktop, 그래픽화면으로나와명령어보단쓰기편합니다. 14

Git 기본용어 (1) Pull Git 저장소서버로부터내컴퓨터로컬로버전정보전체를가져온다. Commit 추가 / 수정 / 삭제된폴더 / 파일들을 1 개버전으로간주하여내컴퓨터로컬에버전정보를기록한다. Push 내컴퓨터로컬에저장되어있던버전정보를 Git 저장소서버로올린다. 15

Git 기본용어 (2) Branch 버전들을묶어서 Branch 라고합니다. 기본은 master 입니다. 내컴퓨터내에있는 Branch 는로컬 branch, 외부서버에있는 Branch 는리모트 branch 라고합니다. Tag Branch 는왔다갔다하면서각각에대해내용을변경하고버전관리까지가능합니다. 반면 Tag 는특정버전위치에대해나중에쉽게찾아갈수있도록이름을지정해놓은것뿐입니다. 16

Git 기본용어 (3) Branch 와 Tag 의사용예시 OpenStack neutron 소스 17

Git 기본용어 (4) Merge Git 로버전관리를하다보면 1) 여러개발자가각자개발한버전을합치는경우 2) 서로다른 Branch 를하나로합치는경우가생깁니다. 이런경우합치는과정을 Merge 라고합니다. 18

Git 기본용어 (5) Rebase Git 과거이력편집목적 따라서 Git 이력을이쁘게 정리도가능 openstack 소스 : commit 이력 ryu-book 소스 : commit 이력 19

GitHub 는? http://www.github.org Git 저장소를직접설치하지않고 GitHub 를통해사용가능합니다. 그런데 GitHub 는단순히 Git 소스저장소만을의미하지는않는다고생각합니다. 20

몇가지좋은 GitHub 의기능 좋은 Web UI 를제공합니다. gh-pages Branch 에파일을올리면 [ 계정명 ].github.io/[ 저장소명 ] 홈페이지가완성됩니다. 여러질문 & 답변, 이슈사항을기록하기위한 Issues 페이지제공 Wiki 제공 월정액으로돈을내면공개되지않은사설저장소제공 돈을더내면권한관리가가능한 organization 저장소제공 ( 무료도가능 ) ( 너무많아서 ) 21

GitHub - fork 다른사람저장소를가져와제저장소로만들어놓는기능입니다. fork 22

GitHub - fork 한다음에는? Pull : 업데이트 Push : 업로드 Pull : 업데이트 Push : 업로드 [ 내컴퓨터 ] ( 커밋도하고..) Fork 는누구나가능합니다. 그러나누구나이저장소를바꾸게되면이상하겠죠? 23

GitHub pull request Pull : 업데이트 Pull request : 검토부탁합니다 Pull : 업데이트 Push : 업로드 [ 내컴퓨터 ] ( 커밋도하고..) 원저장소소유자또는권한이있는자가검토하여맘에들면가져와서업데이트하고, 토론 / 반려등이가능합니다. 24

Git, GitHub 와오픈소스 Git 은분산버전관리를위한도구 오픈소스가아니어도많이사용합니다 협업이필요한어디든지! GitHub 는오픈소스를사랑합니다 공개 된저장소는무료로맘껏사용가능 토론및커뮤니케이션을하는장소또한제공합니다 Pull request Issues 25

GitHub 에서오픈소스를찾는법 글로벌탐색전 : https://github.com/explore 정말이렇게찾는게답일까요? 26

GitHub 에서오픈소스를찾는법 그전에 어떤분야 에대한오픈소스를찾을것인지키워드파악하기 JavaScript, Python, Front-end, Machine Learning, Deep Learning, Cloud, Dotnet, PHP, Assignment, 키워드 검색법 직접들어가보고판단을해야함 : 수치와함께 인터렉션 을보자! 28

다양한오픈소스세상을이해하기 Foundation ( 재단 ) 주도하에발전하는오픈소스 29

다양한오픈소스세상을이해하기 Company-driven 오픈소스 ( 매우많음 ) 30

어필이이루어지는오픈소스가매력적이겠죠? 빠른생산성 누구나다운로드하여실행가능한오픈소스 어떤철학및고민이반영되었는가? 문서화 설명 이모든것은 상호존중 과 배려 에서기반해야함 31

Finished!

참고 : README 파일이란? README.md 또는 README.rst 파일을저장소기본폴더에위치 확장자 md: 마크다운문법 확장자 rst: Restructured Text 문법 (Python 프로젝트에서주로사용 ) README 가없는게이상한프로젝트 문법에익숙하지않은경우샘플코드를참고하여 README 파일제작을권장 34

참고 : LICENSE 파일 오픈소스에서는라이선스명시가중요함 35

참고 :.gitignore 파일 해당파일들은 Git 를통해관리가안됨 ( 예 : ios & Android) 36