2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 https://www.slideshare.net/ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
GitHub로 프로젝트 운영하기
-시스템소프트웨어 연구실 이건희
목차
-깃허브란?
-Repository 활용하기
-branches, releases
-깃허브 프로젝트 문서화
깃허브란?
• 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
• 다른 사람들과의 협업을 매우 용이하게 해줌
Repository 활용하기
Issue , Pull requests
• Issue 카테고리는 왜 사용하는가요?
• 버그를 기록하거나 요구사항을 전달할려고 사용
• Pull requests 카테고리는 왜 사용하는가요?
• 현재 진행중인 작업이 무엇인지 알게해줌. • 수정사항을 Merge 시킬 때 사용.
Pull requests로 넣은 수정사항이 Merge됨에 따라 Contributor가 될 수 있습니다!
branches, releases
branches
• 테스트 해보거나 새로운 기능을 개발하기 위해 사용하는 독립적인 commit
• Master branch : 기본 branch이자, 최종적으로 마무리 되는 branch
깃허브 문서화
README
• 해당 프로젝트의 개요나 설명, 설치법에 대해서 설명
• ‘README.md’ 파일을 인식
README’s Labels
• Badge images • Custom badge
https://shields.io/
README’s Labels
• Travis CI
• Continuous Integration : 푸시할 때 자동화된 빌드 및 테스트가 실 행되고 소프트웨어 품질을 향상시키는 개발 방식
• https://travis-ci.org/
Issue & Pull requests Template
• Maintainer에게 좀 더 정확하 게 의견을 전달하기 위해 만듬
• Insights > Comminuty 에서 추가 가능
LICENSE
네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
그 외의 Community profile
• Code of conduct
• Contributing guidelines
그 외에 프로젝트 관리에 도움되는 것
OpenHub 어플리케이션
Git Bash (Git bash 사용법 : http://gbsb.tistory.com/10)
GitHub Desktop
참고
• 네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
• 실제로 사용한 프로젝트 https://github.com/kuj0210/IoT-Pet-Home-System
2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 https://www.slideshare.net/ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
GitHub로 프로젝트 운영하기
-시스템소프트웨어 연구실 이건희
목차
-깃허브란?
-Repository 활용하기
-branches, releases
-깃허브 프로젝트 문서화
깃허브란?
• 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
• 다른 사람들과의 협업을 매우 용이하게 해줌
Repository 활용하기
Issue , Pull requests
• Issue 카테고리는 왜 사용하는가요?
• 버그를 기록하거나 요구사항을 전달할려고 사용
• Pull requests 카테고리는 왜 사용하는가요?
• 현재 진행중인 작업이 무엇인지 알게해줌. • 수정사항을 Merge 시킬 때 사용.
Pull requests로 넣은 수정사항이 Merge됨에 따라 Contributor가 될 수 있습니다!
branches, releases
branches
• 테스트 해보거나 새로운 기능을 개발하기 위해 사용하는 독립적인 commit
• Master branch : 기본 branch이자, 최종적으로 마무리 되는 branch
깃허브 문서화
README
• 해당 프로젝트의 개요나 설명, 설치법에 대해서 설명
• ‘README.md’ 파일을 인식
README’s Labels
• Badge images • Custom badge
https://shields.io/
README’s Labels
• Travis CI
• Continuous Integration : 푸시할 때 자동화된 빌드 및 테스트가 실 행되고 소프트웨어 품질을 향상시키는 개발 방식
• https://travis-ci.org/
Issue & Pull requests Template
• Maintainer에게 좀 더 정확하 게 의견을 전달하기 위해 만듬
• Insights > Comminuty 에서 추가 가능
LICENSE
네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
그 외의 Community profile
• Code of conduct
• Contributing guidelines
그 외에 프로젝트 관리에 도움되는 것
OpenHub 어플리케이션
Git Bash (Git bash 사용법 : http://gbsb.tistory.com/10)
GitHub Desktop
참고
• 네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
• 실제로 사용한 프로젝트 https://github.com/kuj0210/IoT-Pet-Home-System
2016년 12월 16일, ONOS/CORD 워킹 그룹 2차 세미나 (URL: http://onoffmix.com/event/84937/ )에서 발표한 내용입니다.
오픈스택 한국 커뮤니티에서 진행 중인 업스트림 컨트리뷰션 스터디 내용을 Github 및 ONOS와 같은 다른 오픈 소스 개발 워크플로우와 비교하면서 Gerrit을 활용한 워크플로우를 설명하였습니다.
2018.07.09 판도라큐브 세미나
제작자: 프로그래밍 파트 이지수
코멘트: 질문 시간에서 질문을 못 해드린 부분은 제가 후에 조사해서 PPT에 추가했습니다.
비고: 없음
판도라큐브는 세종대학교 소프트웨어융합대학 소속의 게임 제작 동아리입니다.
매주 회의마다 게임 제작과 관련된 주제로 세미나를 개최합니다.
모든 자료는 세미나 자료 제작자의 동의 하에 업로드됩니다.
세미나의 소유 및 책임은 제작자가 지닙니다.
2016년 12월 16일, ONOS/CORD 워킹 그룹 2차 세미나 (URL: http://onoffmix.com/event/84937/ )에서 발표한 내용입니다.
오픈스택 한국 커뮤니티에서 진행 중인 업스트림 컨트리뷰션 스터디 내용을 Github 및 ONOS와 같은 다른 오픈 소스 개발 워크플로우와 비교하면서 Gerrit을 활용한 워크플로우를 설명하였습니다.
2018.07.09 판도라큐브 세미나
제작자: 프로그래밍 파트 이지수
코멘트: 질문 시간에서 질문을 못 해드린 부분은 제가 후에 조사해서 PPT에 추가했습니다.
비고: 없음
판도라큐브는 세종대학교 소프트웨어융합대학 소속의 게임 제작 동아리입니다.
매주 회의마다 게임 제작과 관련된 주제로 세미나를 개최합니다.
모든 자료는 세미나 자료 제작자의 동의 하에 업로드됩니다.
세미나의 소유 및 책임은 제작자가 지닙니다.
[17.02.09] Github introduction (Korean Version)Ildoo Kim
Git 혹은 소스코드 형상관리를 아예 모르는 사람을 대상으로 작성한 Starter Guide입니다. 팀에 새로운 사람이 Join하는 등의 경우에 세미나 자료로 활용합니다.
형상관리/git 개념과 command line 혹은 source tree를 활용한 기본적인 사용 방법에 대해 소개합니다.
<팀을>이라는 책을 많이 참고하였습니다.
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
Docker를 활용하여 Gitlab CI/CD 설치 구성 및 샘플 테스트를 위한 가이드 문서이며, Docker 및 Gitlab에 대한 개요 및 사용법에 대해서는 다루지 않습니다. Docker image를 이용 Gitlab 및 Gitlab CI/CD 설치 및 구성 후 Sample Spring boot web application을 이용하여 소스 변경에 따른 commit이 발생 했을 때 Gitlab CI/CD 기능을 통해 application 테스트, 빌드, 배포까지의 일련의 과정이 자동으로 진행되는지를 테스트 하는 내용입니다.
Automating boring and repetitive UbuCon Asia video and subtitle stuffsYoungbin Han
Whether it’s online or offline event, There’s always boring and repetitive jobs for event organizers and volunteers. Putting cover on session videos and making subtitle for videos are part of them. UbuCon Asia team, is no exception. But like you and other ordinary people, our organizers also have their own job and busy with that usually. As it’s first event we don’t even know if we can gather enough volunteers or gain sponsorship to hire some workers. So, We decided to use some automation tools like CI/CD, Speech to text, Translation API, Video cover rendering template and so on to automate these boring job as much as possible and reduce cost at the same time. In this session, I would like to share how we did this and what we’ve learned while trying to automate stuffs.
https://2021.ubucon.asia/sessions/automating_boring_and_repetitive_ubucon_asia_video_and_subtitle_stuffs
Engaging new l10n contributors through Open Source ContributhonYoungbin Han
Last year, Ubuntu Korean LoCo participated “Open Source Contributhon”(Contribution + Marathon) as Ubuntu Korean L10n team to engage new l10n contributors. “Open Source Contributhon” is an program led by a government agency, And more than 20 teams joined last year.
In this session, We’ll introduce details about “Open Source Contributhon”(which is now “Open Source Contribution Academy”) and our experiences about the program as mentors and as mentees.
https://2021.ubucon.asia/sessions/engaging_new_l10n_contributors_through_open_source_contributhon/
2. 약 8주 동안 스터디 진행.
일주일에 2번, 8교시에 오프라인으로 모임.
스터디 기간 중 중간 점검 예정
1.24 해커톤 있음.
3. 노트북 - 없는 경우, 별도로 대여 가능
안드로이드 디바이스 - 각자 지참
네트워크 연결, 전원 공급 - 그런거 걱정 안해도 됨
4. 모임 전에, Udacity - Developing Android Apps 강의 듣기
Java 익혀두기(안드로이드 개발에 Java 사용됨)
(점프 투 자바 - https://wikidocs.net/book/31)
(생활코딩 자바 강의 - http://opentutorials.org/course/1223)
5. 월 | 화 | 수 | 목 | 금
??시??분 ~ ??시??분
학기 중 모일 요일과, 방학 중 모일 요일 및 시간을 정합니다.
8. http://git-scm.com/download
위 웹사이트에서, Git를 다운로드하고 설치하세요.
콘솔창이 익숙하지 않다면, GUI 클라이언트 설치도 좋
은 방법입니다.
Git GUI 클라이언트는,
Windows, Mac 사용하시면, SourceTree 를,
Linux 사용하신다면, SmartGit 추천 드립니다.
9. Git 초기 설정
여러분들이 콘솔창으로 Git을 사용한다고 가정하고,
명령어로 설명 드리겠습니다.
10. Git 초기 설정
이메일 및 이름 설정(커밋 할 때 사용됩니다.)
git config --global user.name “이름”
git config --global user.email “example@example.com”
편집기 설정
git config --global core.editor 편집기 이름
설정 확인
git config --list
11. 저장소 생성 또는 복제
현재 접근 중인 디렉터리를 Git 저장소로 만들기
git init
저장소 복제하기
git clone (복제할 저장소 경로 또는 주소)
12. Git 저장소 구조
● 작업 디렉토리(Wirking Directory)
● Staging Area(Index)
● HEAD
작업 디렉터리에는 편집하거나 작업하는 실제 파일들이 있고,
Staging Area(Index)는 커밋할 파일을 준비하는 역할을 하며,
HEAD는 최종 확정본(commit)을 나타냄
13. 변경 사항 기록
변경된 특정 파일 인덱스(index)에 추가(add)
git add 파일이름
변경된 모든 파일들 인덱스(index)에 추가(add)
git add -A
인덱스에 추가한 변경 내용 확정(commit)하기
git commit -m "이번 확정 본에 대한 설명"
14. 온라인 저장소로 발행(push)
온라인 저장소 위치나 주소 알려주기
(새로 생성한 저장소인 경우)
git remote add (원하는 리모트* 이름) (온라인 저장소 주소나 경로)
리모트* : 인터넷 또는 네트워크 어딘가에 있는 저장소
15. 온라인 저장소로 발행(push)
온라인 저장소로 발행하기
git push (리모트 단축 이름) (가지(branch)이름)
(예시) git push origin master
가지, 온라인 저장소 정보 변경 등을 한 이후에 처음 발행하는 것이
아닌 경우, 아래 명령어로도 충분함
git push
16. 온라인 저장소로부터 갱신
로컬 저장소를 온라인 저장소에 맞게 갱신하려면, 아래 명령어 실행
하기
git pull