SlideShare a Scribd company logo
커뮤니티 참여와 Github 사용 팁
Github 100% 활용
버전관리 시스템
Git
버전관리 시스템의 저장소를 제공하는 서비스
무료로 사용할 수 있는 공개형 저장소와 유료로
사용해야하는 비공개 저장소 제공
PRODUC T OWNER
GitHub
왜 Github에 대한 얘기를 하나?
• 지금 우리가 사용하는 대부분의 코드는 Github에 있다
• 나도 모르는 사이에 Github에 있는 소스코드를 이미 사용하고 있다
• 내가 사용하는 코드에 문제가 있을 때 어디에 물어봐야 하나?
• 내가 사용하는 코드의 문제점을 해결했을 땐, 그 다음으로 무엇을 하면 좋을까?
여기서 잠깐 토론에 대해서
• 국내 문화와 인터넷 커뮤니티
• 국내에서 자주 언급되는 토론 문화의 성숙도
• 토론이 감정적으로 치달아 문제되는 경우가 자주 발생함
• 비평, 비판, 비난
• 토론에서 나와 다른 의견이 제시 될 때 이것을 잘 구분 하는가
• 남의 비난을 두려워 하고 있지 않은가?
• 국내 Github 프로젝트 참여자 수
• 단순히 언어의 장벽과 인구 수에 의한 차이일까?
• 프로젝트 커뮤니티 참여를 가로막는 보이지 않는 벽은 무엇일까?
경험 - PR & 까임
Laravel 저장소에 Pull Request 를 보내 봤습니다.
누군가 "그게 왜 필요해?" 라고 물어봤고
저는 한국에 있으니까 자고 있었구요.
다음날 출근해서 보니까 "하던대로 하자" 는 마지막 대화로 이슈가 닫혔습니다.
의견이 받아 들여 지지 않았을 때?
• 조금 많았던 서운한 감정
• 생각 많이하고 고민해서 보냈는데, 너무 쿨하게 까였음
• 어떤 문제였을까? (의식의 흐름)
• '질문이 잘못 되었는가?' 에 대해서 생각해봄
• 의견에 대한 명확하고 타당한 근거를 제시하지 못함
• 내 의견을 제시할 때 상대방을 설득하려는 노력이 필요했다
결론
• 국외 커뮤니티에서 언어에 대한 장벽 실감함
• 의견 제시하기 전에 너무 많은 고민
• 간단한 의견 임에도 상당한 시간이 걸렸음
• 듣는 사람이 내 의견을 이해하지 못했다면 좀더 명확하게 얘기할 수 있도록 하자
• 한번 해보니까 대단한 일이 아니었다
• 까이는게 뭐 큰일인가!?
Github 토글 버튼
Watch/Unwatch : 지켜봄 (알림 등 메시지 받음)

Start/Unstart : 좋아요!

Fork : 퍼감, Copy, Github의 내 저장소에 복사
관심 갖는 프로젝트에 마구마구 사랑을 나눠 주세요.
운영자는 더욱 힘이 날꺼에요!
Github 탭 메뉴
Code : 프로젝트의 코드를 볼 수 있음
Issue : 문의하기 게시판 (이정도로 생각하고 사용
해도 됨)
Pull Request(PR) : 당김 요청 (내가 수정한 내용
을 보내서 프로젝트에 반영되길 바랄 때 사용)
다른 탭 메뉴는 눌러보세요.
Code 페이지 수치
Commits : 코드 커밋 수
Branch : 가지 치기 수
Releases : 배포 버전 수
Contributors : 기여자 수
Issue, Pull Request
Issue, Pull Request
• 모든 프로젝트는 사용자 참여를 기다리고 있음
• 질문, 개선사항을 남겨서 프로젝트를 발전 시킬 수 있음
• Pull Request 를 통해 프로젝트에 기여할 수 있음
XE3 Issue 의 Labels
https://github.com/xpressengine/xpressengine/issues/new
XE3 저장소의 라벨을 보고 Issue 에는 어떤 내용을 남기면 될지 얘기해 보겠습니다.
* type/ bug, enhancement, proposal, question, security
* 오류, 개선, 제안, 문의, 보안
* status/ duplicated, invalid, keep, need-more-info, now-checking, wontfix, works-
for-me
* 중복됨, 유효하지 않음, 보류됨, 추가정보필요, 확인중, 

누가 고쳐주길 바래, 대신 누가 해줘ㅜㅜ
이슈에 남길 수 있는 내용은 오류, 개선, 제안, 문의, 보안 에 대한 내용 입니다.
커뮤니티에 따라 다르겠지만 GitHub 에 Issue 를 운영하는 프로젝트는 거의 같은 분류를 취
급합니다.
GitHub Issu VS 공홈 Q&A
GitHub Issue 도 충분히 묻고답하기 게시판 기능을 수행할 수 있음
비슷한 기능의 커뮤니티를 두군데 운영하는 이유는 국내 사용자가 GitHub 사용을 익숙해 하지 않는다고 판단했기 때문
XE팀은 GitHub Issue 로 문의하길 권장함
GitHub Issue 에서 의견 교류
Pull Request
• Pull Request(PR) 은 내가 수정한 코드를 프로젝트에 반영 시키는 수단
• 프로젝트 운영자에게 "당김 요청"을 보내는 것
• 수정한 Commit, 내용을 보내는게 아니라 프로젝트 운영자가 당겨갈 Branch 를 보내는 것
• 프로젝트 운영자가 내 저장소의 Branch 를 당겨간 다는 의미를 정확히 해야함
PR 보내는 법
• https://github.com/xpressengine/xpressengine/blob/master/.github/CONTRIBUTING.md
• XE3 저장소에 있는 Contributing 가이드
Web Hook!
Webhooks
• https://developer.github.com/webhooks/
• GitHub 에서 제공되는 기능
• GitHub 저장소에 이벤트가 발생하면 등록된 기능 실행
XE3 Webhooks setting
• https://scrutinizer-ci.com/
• 외부 서비스에 issue, comment, PR 등 새로운 이벤트가 생기면
실행되도록 해서 Slack 으로 메시지 전송
• 오픈소스는 무료 지원
• bitbucket 저장소와 싱크 맞추기 기능
• 오픈소스 기반으로 private 저장소를 운영해야할 경우
• Jenkins 연동
• 새로운 push 들어오면 unit-test 실행, code-style 체크
Jenkins 연동
GitHub
Jenkins
Slack
Push
Job : Unit Test
Job : Code Style
메시지 전송
XE 팀 Slack
Jenkins Job for check code style
Private Repository
GitHub 가격 정책
회사 코드는 공개 되면 안되!!
그렇다고 돈내고 쓰기도 좀 그런데 ;;
비공개 저장소
Yona
• 국내 오픈소스
• Yobi 프로젝트에서 이름을 바꾸서 Yona 프로젝트 진행
• 한국어로 지원되어 사용할 때 편리한 잇점
• 설치형
• 무제한의 프로젝트, 무제한의 사용자
• Git Respository 기능
• 이슈, 게시판 기능
• 회원, 그룹 관리 기능
Yona 설치 화면
T h a n k y o u
X E H U B

More Related Content

PDF
깃헙으로 코드리뷰 하기
PDF
Visual studio 2013 github 연동하기
PDF
Github 으로 학교 팀 프로젝트 하기
PPTX
[PandoraCube] 오픈 소스와 깃허브
PDF
GitHub로 프로젝트 운영하기
PDF
GitHub Pull Request 간단 사용 설명서
PDF
Pivotal tracker를 활용한 팀 프로젝트 관리
PDF
Soscon lt 1
깃헙으로 코드리뷰 하기
Visual studio 2013 github 연동하기
Github 으로 학교 팀 프로젝트 하기
[PandoraCube] 오픈 소스와 깃허브
GitHub로 프로젝트 운영하기
GitHub Pull Request 간단 사용 설명서
Pivotal tracker를 활용한 팀 프로젝트 관리
Soscon lt 1

What's hot (20)

PDF
소셜 코딩 GitHub & branch & branch strategy
PPTX
How to Contribute to OSS
PPTX
How to contribute to open source
PDF
Open source oss
PPTX
Open Source 그리고 git과 github, code review
PDF
[201808] GitHub 사용하기 - GIt & 협업 활용
PDF
팀 개발을 위한 GitHub 사용법
PPTX
Digging github
PDF
Opensource sw day
PDF
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
PDF
소스트리(SourceTree)로 배우는 Git 사용법
PPTX
about Pivotal tracker
PDF
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
PPTX
How to use Github? (For Cien)
PDF
오픈 소스 컨트리뷰션 가이드
PPTX
Git로 협업하기
PDF
[D2 fest 2014]yobi hands on lab
PPTX
오픈소스 개발을 위한 Git 사용법 실습
PDF
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
PDF
위클리 발표자료
소셜 코딩 GitHub & branch & branch strategy
How to Contribute to OSS
How to contribute to open source
Open source oss
Open Source 그리고 git과 github, code review
[201808] GitHub 사용하기 - GIt & 협업 활용
팀 개발을 위한 GitHub 사용법
Digging github
Opensource sw day
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
소스트리(SourceTree)로 배우는 Git 사용법
about Pivotal tracker
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
How to use Github? (For Cien)
오픈 소스 컨트리뷰션 가이드
Git로 협업하기
[D2 fest 2014]yobi hands on lab
오픈소스 개발을 위한 Git 사용법 실습
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
위클리 발표자료
Ad

Similar to Github 100% 활용하기 - XE Open seminar #3 (20)

PPTX
Github가 뭐죠 먹는 건가요
PDF
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
PDF
200720 바이오협회 생물정보학 파이썬 강의
PDF
Fun git hub
PPTX
리스펙토링 세미나 - Git, Github 알아보기
PDF
[프로그라피 정기 세션] Github으로 협업하기
PDF
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
PDF
Lablup Conf 2022 - 강시온.pdf
PDF
201017 한주현 생물정보학 github 강의
PDF
How to Make Open-source Contributions and Run Blog with Github
PDF
GitHub 실습 교육
PPTX
오픈소스GIS 개발 일반 강의자료
PPTX
풀리퀘를 부탁해!
PDF
[17.02.09] Github introduction (Korean Version)
PDF
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
PDF
github : 유용한 기능들
PDF
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
PDF
제로부터시작하는Git
PDF
알아두면 쓸모있는 깃허브 1
PDF
Why use git
Github가 뭐죠 먹는 건가요
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
200720 바이오협회 생물정보학 파이썬 강의
Fun git hub
리스펙토링 세미나 - Git, Github 알아보기
[프로그라피 정기 세션] Github으로 협업하기
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
Lablup Conf 2022 - 강시온.pdf
201017 한주현 생물정보학 github 강의
How to Make Open-source Contributions and Run Blog with Github
GitHub 실습 교육
오픈소스GIS 개발 일반 강의자료
풀리퀘를 부탁해!
[17.02.09] Github introduction (Korean Version)
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
github : 유용한 기능들
[숭실대학교 SODA]깃(git) 명령 및 소스트리(sourceTree) 실습
제로부터시작하는Git
알아두면 쓸모있는 깃허브 1
Why use git
Ad

More from XpressEngine (20)

PDF
Docker 기반 개발환경 구축 - XE Open seminar #2
PDF
XE3 SEO를 다루기 - XE Open seminar #2
PDF
XE Open seminar #2 - keynote
PDF
[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기
PDF
[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩
PDF
[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기
PDF
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
PDF
[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게
PDF
[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기
PDF
[XECon2016] B-4 변종원 CodeIgniter와 PHP7
PDF
[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래
PDF
[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기
PDF
[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로
PDF
[XECon2016] A-2 임형주 Webpack 실무 적용전략
PDF
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
PPTX
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
PPTX
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
PDF
XECon2015 :: [1-2] 이현석 - Learning Laravel
PDF
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
PDF
XECon2015 :: [3-4] 조정현 - Laravel with cloud
Docker 기반 개발환경 구축 - XE Open seminar #2
XE3 SEO를 다루기 - XE Open seminar #2
XE Open seminar #2 - keynote
[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기
[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩
[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게
[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기
[XECon2016] B-4 변종원 CodeIgniter와 PHP7
[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래
[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기
[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로
[XECon2016] A-2 임형주 Webpack 실무 적용전략
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [1-2] 이현석 - Learning Laravel
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-4] 조정현 - Laravel with cloud

Github 100% 활용하기 - XE Open seminar #3

  • 1. 커뮤니티 참여와 Github 사용 팁 Github 100% 활용
  • 2. 버전관리 시스템 Git 버전관리 시스템의 저장소를 제공하는 서비스 무료로 사용할 수 있는 공개형 저장소와 유료로 사용해야하는 비공개 저장소 제공 PRODUC T OWNER GitHub
  • 3. 왜 Github에 대한 얘기를 하나? • 지금 우리가 사용하는 대부분의 코드는 Github에 있다 • 나도 모르는 사이에 Github에 있는 소스코드를 이미 사용하고 있다 • 내가 사용하는 코드에 문제가 있을 때 어디에 물어봐야 하나? • 내가 사용하는 코드의 문제점을 해결했을 땐, 그 다음으로 무엇을 하면 좋을까?
  • 4. 여기서 잠깐 토론에 대해서 • 국내 문화와 인터넷 커뮤니티 • 국내에서 자주 언급되는 토론 문화의 성숙도 • 토론이 감정적으로 치달아 문제되는 경우가 자주 발생함 • 비평, 비판, 비난 • 토론에서 나와 다른 의견이 제시 될 때 이것을 잘 구분 하는가 • 남의 비난을 두려워 하고 있지 않은가? • 국내 Github 프로젝트 참여자 수 • 단순히 언어의 장벽과 인구 수에 의한 차이일까? • 프로젝트 커뮤니티 참여를 가로막는 보이지 않는 벽은 무엇일까?
  • 5. 경험 - PR & 까임 Laravel 저장소에 Pull Request 를 보내 봤습니다. 누군가 "그게 왜 필요해?" 라고 물어봤고 저는 한국에 있으니까 자고 있었구요. 다음날 출근해서 보니까 "하던대로 하자" 는 마지막 대화로 이슈가 닫혔습니다.
  • 6. 의견이 받아 들여 지지 않았을 때? • 조금 많았던 서운한 감정 • 생각 많이하고 고민해서 보냈는데, 너무 쿨하게 까였음 • 어떤 문제였을까? (의식의 흐름) • '질문이 잘못 되었는가?' 에 대해서 생각해봄 • 의견에 대한 명확하고 타당한 근거를 제시하지 못함 • 내 의견을 제시할 때 상대방을 설득하려는 노력이 필요했다
  • 7. 결론 • 국외 커뮤니티에서 언어에 대한 장벽 실감함 • 의견 제시하기 전에 너무 많은 고민 • 간단한 의견 임에도 상당한 시간이 걸렸음 • 듣는 사람이 내 의견을 이해하지 못했다면 좀더 명확하게 얘기할 수 있도록 하자 • 한번 해보니까 대단한 일이 아니었다 • 까이는게 뭐 큰일인가!?
  • 8. Github 토글 버튼 Watch/Unwatch : 지켜봄 (알림 등 메시지 받음)
 Start/Unstart : 좋아요!
 Fork : 퍼감, Copy, Github의 내 저장소에 복사 관심 갖는 프로젝트에 마구마구 사랑을 나눠 주세요. 운영자는 더욱 힘이 날꺼에요!
  • 9. Github 탭 메뉴 Code : 프로젝트의 코드를 볼 수 있음 Issue : 문의하기 게시판 (이정도로 생각하고 사용 해도 됨) Pull Request(PR) : 당김 요청 (내가 수정한 내용 을 보내서 프로젝트에 반영되길 바랄 때 사용) 다른 탭 메뉴는 눌러보세요.
  • 10. Code 페이지 수치 Commits : 코드 커밋 수 Branch : 가지 치기 수 Releases : 배포 버전 수 Contributors : 기여자 수
  • 12. Issue, Pull Request • 모든 프로젝트는 사용자 참여를 기다리고 있음 • 질문, 개선사항을 남겨서 프로젝트를 발전 시킬 수 있음 • Pull Request 를 통해 프로젝트에 기여할 수 있음
  • 13. XE3 Issue 의 Labels https://github.com/xpressengine/xpressengine/issues/new XE3 저장소의 라벨을 보고 Issue 에는 어떤 내용을 남기면 될지 얘기해 보겠습니다. * type/ bug, enhancement, proposal, question, security * 오류, 개선, 제안, 문의, 보안 * status/ duplicated, invalid, keep, need-more-info, now-checking, wontfix, works- for-me * 중복됨, 유효하지 않음, 보류됨, 추가정보필요, 확인중, 
 누가 고쳐주길 바래, 대신 누가 해줘ㅜㅜ 이슈에 남길 수 있는 내용은 오류, 개선, 제안, 문의, 보안 에 대한 내용 입니다. 커뮤니티에 따라 다르겠지만 GitHub 에 Issue 를 운영하는 프로젝트는 거의 같은 분류를 취 급합니다.
  • 14. GitHub Issu VS 공홈 Q&A GitHub Issue 도 충분히 묻고답하기 게시판 기능을 수행할 수 있음 비슷한 기능의 커뮤니티를 두군데 운영하는 이유는 국내 사용자가 GitHub 사용을 익숙해 하지 않는다고 판단했기 때문 XE팀은 GitHub Issue 로 문의하길 권장함
  • 15. GitHub Issue 에서 의견 교류
  • 16. Pull Request • Pull Request(PR) 은 내가 수정한 코드를 프로젝트에 반영 시키는 수단 • 프로젝트 운영자에게 "당김 요청"을 보내는 것 • 수정한 Commit, 내용을 보내는게 아니라 프로젝트 운영자가 당겨갈 Branch 를 보내는 것 • 프로젝트 운영자가 내 저장소의 Branch 를 당겨간 다는 의미를 정확히 해야함
  • 17. PR 보내는 법 • https://github.com/xpressengine/xpressengine/blob/master/.github/CONTRIBUTING.md • XE3 저장소에 있는 Contributing 가이드
  • 19. Webhooks • https://developer.github.com/webhooks/ • GitHub 에서 제공되는 기능 • GitHub 저장소에 이벤트가 발생하면 등록된 기능 실행
  • 20. XE3 Webhooks setting • https://scrutinizer-ci.com/ • 외부 서비스에 issue, comment, PR 등 새로운 이벤트가 생기면 실행되도록 해서 Slack 으로 메시지 전송 • 오픈소스는 무료 지원 • bitbucket 저장소와 싱크 맞추기 기능 • 오픈소스 기반으로 private 저장소를 운영해야할 경우 • Jenkins 연동 • 새로운 push 들어오면 unit-test 실행, code-style 체크
  • 21. Jenkins 연동 GitHub Jenkins Slack Push Job : Unit Test Job : Code Style 메시지 전송 XE 팀 Slack
  • 22. Jenkins Job for check code style
  • 25. 회사 코드는 공개 되면 안되!! 그렇다고 돈내고 쓰기도 좀 그런데 ;;
  • 27. Yona • 국내 오픈소스 • Yobi 프로젝트에서 이름을 바꾸서 Yona 프로젝트 진행 • 한국어로 지원되어 사용할 때 편리한 잇점 • 설치형 • 무제한의 프로젝트, 무제한의 사용자 • Git Respository 기능 • 이슈, 게시판 기능 • 회원, 그룹 관리 기능
  • 29. T h a n k y o u X E H U B