Skip to content

uminshin/oss_git_example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Markdown 실습

인공지능학부 241818 신유민

### Week1-1 강의 개요 (강의계획서)

* 교과목명: **오픈소스소프트웨어**(SAI0003-2)

* 담당교수: 최광훈

* 강의실: _AI융합대학-301_

* 강의시간: 화1목1


### Week1-2 오픈소스소프트웨어 개요

* Octoverse: 오픈소스소프트스웨어의 현황을 잘 볼 수 있는 통계 자료

  * [2024 Octoverse](https://github.blog/news-insights/octoverse/octoverse-2024/)

오픈소스소프트웨어(OSS):

소프트웨어 저작권 소유자가 모든 사람에게 소스 코드를 게시, 사용, 복사, 수정 및 배포할 권리를 부여한 소프트웨어

OSS라이선스:

오픈소스 소프트웨어의 사용, 복제, 수정, 배포 권한의 범위를 지정

* Linking with Proprietary SW (상용 소프트웨어와의 연동)

* Must Publish Modification(수정 시 공개 의무)

* Patent Protection (특허 보호 조항)

* 상용화 관점 OSS 특징

  * 일괄 사전 이용 허락

  * 로열티 없음

  * 소스 코드 제공

  * 복제, 배포, 수정 허용

  * 기간/목적 제한 없음

  * 지적재산권(상용화된 SW와 공통된 특징)

* 철학적 관점

* _free SW_ vs. _open source SW_


### Week2-1 버전 관리 개요

Version Control System (VCS):

Track your files over time so that you can easily get back to a previous working version

* VCS software

  * CVS (Concurrent Version System)

  * SVN (Subversion)

  * Mercurial

  * Darcs

  * Git

* Repository or Repo (저장소)

* Actions

  * Checkin << commit(git)

  * Checkout, editing

  * Diffs

  * Branching

  * Merging

  * Conflicts

  * Tagging

* Two Main Types

  * Centralized VCS ( _E.g. CVS, SVN_ )

  * Decentralized (Distributed) VCS ( _E.g. GIT, Mercurial, Darcs_ )


### Week2-2 **Git**

* Control system

image

* Workflow

  * git clone << **처음으로 내려 받을 때만**

  * git add

  * git commit

  * git push

  * git fetch

  * git merge << conflict

  * git pull << 되도록 git fetch, git merge하기

  * git diff HEAD, git diff

  * fork, pull request


### Week2-3 Github, fork, pull request

GitHub:

전 세계 개발자들이 코드를 올리고 협업하는 원격 저장소 플랫폼.

(Git = 버전 관리 도구 / GitHub = 그걸 공유·협업할 수 있는 웹 서비스)

주요 기능:

* 저장소(repository) 관리

* 버전 추적 (commit, branch, merge)

* 협업 기능 (issue, pull request, review)

Fork:

다른 사람의 GitHub 저장소를 내 계정으로 복사하는 것.

원본에는 영향을 주지 않고, 독립적인 사본을 만들어 내 마음대로 수정 가능함.

Pull Request:

Fork(복사)한 저장소에서 수정한 내용을 원래 저장소에 반영해 달라고 요청하는 것.

흐름:

  1. 원본 저장소 Fork

  2. 내 Fork에서 수정 및 Commit

  3. GitHub에서 Pull Request 생성

  4. 원본 소유자가 코드 리뷰 후 Merge


### Week2-4 Git: Advanced topics

* Git training

[Pdf_Training](https://github.com/uminshin/git\_training/blob/master/Git\_training.pdf)

* 나의 실습 결과

[Pdf_uminshin](https://github.com/uminshin/git\_training/blob/master/hw\_git\_%EC%8B%A4%EC%8A%B5\_241818\_%EC%8B%A0%EC%9C%A0%EB%AF%BC.pdf)


### Week3 Markdown

Markdown: A lightweight markup language for creating formatted text using a plain-text editor

* Examples

  * Headings

  # Heading one

  * Italic, bold, etc.

  _italic_

  **bold**

  monoplace

  * Lists

  1. mission

  * markdown

  2. period

  - 10.14

  * Links and images

  [github](www.github.com)

  github logo image

  ![github logo](https://github.githubassets.com/images/modules/logos\_page/GitHub-Mark.png)

  * Blockquotes

  > block quotes

  * Paragraphs

  paragraphs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%