Skip to content

leechanhui12/oss_git_example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

502 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Week1

1. 강의 개요

이과목은 3가지목표를 지향한다.

첫째, 오픈소스소프트웨어개발을위한기본개념과도구, 특히소스코드버전 컨트롤과패키지관리, 프로젝트빌드를 중점으로 배운다.

둘째, 애자일기반 소프트웨어 개발방법인 짝 프로그래밍, 테스트주도개발, 행위주도개발, 클라우드기반 데브옵스를 공부한다.

셋째, 새로운/낯선소프트웨어 개발환경 및 도구를 스스로 배우는태도를 배우는것을 목적으로 한다.
새로운추세의 컴퓨팅환경에 빠르게 적응하여 협력적인 소프트웨어개발을 주도할수있는 능력을배운다.

2. 오픈소스소프트웨어 개요

  • 오픈소스 소프트웨어(Open Source Software, OSS)는 소스코드를 공개하고 자유롭게 사용·수정·배포할 수 있는 소프트웨어를 의미한다.
  • 오픈소스 발표자료
  • 대표 사례: Linux, Apache, MySQL, Python, TensorFlow
  • 철학: “공유와 협업을 통해 더 나은 세상을 만든다.
  • 주요 개념: 자유(Free), 개방(Open), 협업(Collaboration)

“Free as in freedom, not free as in free beer.”Richard Stallman

Week2

1. 버전 관리 개요

버전 관리 시스템(VCS, Version Control System)은
코드의 변경 이력을 추적하고, 협업 시 충돌을 방지하며, 과거 버전으로 복원할 수 있도록 도와주는 시스템이다.

  • 중앙집중식 버전 관리 (CVCS) : 서버 중심, 예) Subversion (SVN)
  • 분산 버전 관리 (DVCS) : 각 클라이언트가 전체 히스토리를 보유, 예) Git

2. Git

Git은 *리누스 토르발스(Linus Torvalds)*가 개발한 분산 버전 관리 시스템(DVCS) 입니다.
빠른 속도, 데이터 무결성, 비선형 개발 지원을 특징으로 합니다.

  • git init # 로컬 저장소 생성
  • git clone # 원격 저장소 복제
  • git add . # 변경 사항 스테이징
  • git commit -m "message" # 변경 사항 커밋
  • git push # 원격 저장소로 업로드

3. GitHub, Fork, Pull Request

GitHub는 Git 기반 저장소를 온라인에서 관리하고 협업할 수 있는 플랫폼입니다. 오픈소스 생태계의 중심지로, 수많은 개발자들이 프로젝트를 공유하고 발전시킵니다.

핵심 개념

  • Fork → 다른 사람의 저장소를 자신의 계정으로 복제
  • Pull Request (PR) → 수정된 내용을 원본 저장소에 병합 요청
  • Issue & Discussion → 피드백과 제안 관리

PR(Pull Request)은 단순한 병합 요청이 아니라 “협력의 시작”이다.

기여 흐름 예시

  1. 저장소를 Fork

  2. 로컬에 Clone

  3. Branch를 만들어 수정

  4. Commit → Push

  5. GitHub에서 Pull Request 생성

  6. 리뷰 후 Merge

    • _flowchart_이미지

4. Git: Advanced topics

기본 명령어를 넘어, Git의 고급 기능을 이해하면 협업과 프로젝트 관리가 훨씬 효율적입니다.

Branch 전략 예시

  • main → 배포용
  • develop → 개발용
  • feature/ → 기능 단위
  • hotfix/ → 긴급 수정
  • Rebase vs Merge

명령어 설명

  • merge: 기존 히스토리를 유지하면서 병합
  • rebase: 커밋 히스토리를 재정렬하여 깔끔하게 유지

Tag 사용 예시

git tag v1.0.0 git push origin v1.0.0

⚠️ 충돌(conflict)이 발생했을 때는 차분(diff)을 보고 수동으로 병합해야 합니다.

Week3

1. Markdown

Markdown은 간결한 문법으로 구조화된 문서를 작성할 수 있는 경량 마크업 언어입니다. 주로 README.md, 블로그, 위키, 문서 작성 등에 활용됩니다.

기본 문법 예시

기능   문법      결과
제목    # 제목      # 제목
강조    기울임, 굵게   기울임, 굵게
코드    print("hi")`    print("hi")
목록    - item -     item
링크    링크       링크

Markdown은 단순하지만 강력합니다. 협업 문서, 프로젝트 README, 기술 블로그 등에서 널리 사용됩니다.

연습사이트

About

오소소 실습

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Ruby 100.0%