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 로 문의하길 권장함
16. Pull Request
• Pull Request(PR) 은 내가 수정한 코드를 프로젝트에 반영 시키는 수단
• 프로젝트 운영자에게 "당김 요청"을 보내는 것
• 수정한 Commit, 내용을 보내는게 아니라 프로젝트 운영자가 당겨갈 Branch 를 보내는 것
• 프로젝트 운영자가 내 저장소의 Branch 를 당겨간 다는 의미를 정확히 해야함
17. PR 보내는 법
• https://github.com/xpressengine/xpressengine/blob/master/.github/CONTRIBUTING.md
• XE3 저장소에 있는 Contributing 가이드
20. XE3 Webhooks setting
• https://scrutinizer-ci.com/
• 외부 서비스에 issue, comment, PR 등 새로운 이벤트가 생기면
실행되도록 해서 Slack 으로 메시지 전송
• 오픈소스는 무료 지원
• bitbucket 저장소와 싱크 맞추기 기능
• 오픈소스 기반으로 private 저장소를 운영해야할 경우
• Jenkins 연동
• 새로운 push 들어오면 unit-test 실행, code-style 체크
27. Yona
• 국내 오픈소스
• Yobi 프로젝트에서 이름을 바꾸서 Yona 프로젝트 진행
• 한국어로 지원되어 사용할 때 편리한 잇점
• 설치형
• 무제한의 프로젝트, 무제한의 사용자
• Git Respository 기능
• 이슈, 게시판 기능
• 회원, 그룹 관리 기능