Skip to content

eunji1019/oss_git_example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

오픈소스SW개발론

Introduction

2025년 1학기 — 오픈소스 협업과 도구, 자기주도 학습을 목표로 함.
키워드: Git, GitHub, Markdown, 라이선스, 협업문화(코드리뷰/PR), Haskell(기초)


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

  • 과목정보: 인공지능학부 / 최광훈 교수님 / AI융합-301 / 화1·목1
  • 수업방법: 플립러닝 — 사전 동영상 학습 → 10분 퀴즈 → 요약강의 → 연습문제
  • 평가: 중간 30 · 기말 40 · 개별과제 20 · 출석/참여 10 (= 100)
  • 수업목표(역량):
    • 컴퓨팅 사고: 함수형 스타일 익히기
    • 융합: LLM/ChatGPT로 새로운 프로그래밍 학습
    • 글로컬/협업: Git/GitHub 활용, 영어 자료 읽기
  • 참고: Haskell MOOC,
    오픈소스SW YouTube 강의 목록

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

  • 정의: 저작권자가 소스코드의 사용·복제·수정·배포를 모두 허용한 소프트웨어
  • 철학/역사: Free Software(R. Stallman, FSF, GPL) vs Open Source(E.S. Raymond, OSI)
  • 라이선스 예: GPL, LGPL, MIT, BSD, Apache 2.0, MPL
  • 차이(상용 vs OSS): 상용은 EULA/로열티/바이너리 중심 ↔ OSS는 라이선스에 따라 소스 공개와 재배포 허용
  • 사례/생태계: VS Code(MIT), 대기업 OSS 포털(Facebook/Google/Microsoft 등)

    “People–Projects–Platform: 협업과 공유가 오픈소스의 성장 동력.”
    참고: GitHub Octoverse


Week2-1 버전 관리 개요

  • VCS의 역할: 변경 이력 추적, 과거 버전 복원, 협업 충돌 최소화
  • 기능: commit / diff / branch / merge / tag, 그리고 conflict 해결
  • 종류: 중앙집중식(CVS, SVN) vs 분산형(Git, Mercurial, Darcs)
  • 핵심 개념: Repository(저장소), checkout/fetch/pull, check-in/commit

Week2-2 Git

  • 정의: 분산 버전관리 — 로컬에서도 완전한 이력, time machine처럼 특정 시점 복원
  • 핵심 구역: WorkspaceIndex(Stage)Local RepoRemote Repo
  • 기본 명령어:
    1. git init → 저장소 초기화
    2. git add → 스테이징
    3. git commit -m "msg" → 이력 생성
    4. git push / git pull → 원격 동기화
    5. git status, git log, git diff → 상태/히스토리/변경점 확인

Image


Week2-3 Github, fork, pull request

  • GitHub란? Git 기반 원격 저장소 + 소셜 코딩 플랫폼(이슈/리뷰/PR)

    Fork로 내 계정에 복사하고, 브랜치에서 작업 후 Pull Request로 원본에 제안!

  • 실습 흐름(예):
    • 원본 저장소 Forkgit clone <내 포크>
    • 작업 브랜치 생성: git checkout -b develop
    • 수정/커밋/푸시: git add . && git commit -sm "feat: ..." && git push origin develop
    • GitHub에서 New Pull Request 클릭, 리뷰/토론 → 머지(Merge)
  • 업스트림 반영:
    • git remote add upstream <원본>git fetch upstreamgit rebase upstream/<브랜치>

My Github Blog


Week2-4 Git: Advanced topics

  • Rebase vs Merge
    • Merge: 병합 이력 보존(협업 기록 가시성 ↑)
    • Rebase: 커밋 재배치로 히스토리 정리(개인 브랜치 정리용)
  • 유용한 명령어:
    • git commit --amend(마지막 커밋 수정), git push --force(주의!)
    • git reset(스테이징/커밋 되돌리기), git cherry-pick(특정 커밋만 적용)
    • git blame <file>(라인 변경자 추적), git rebase -i(중간 커밋 편집)
  • 협업 문화:

    “커밋 단위로 리뷰하고 토론하면 버그를 일찍 잡고 품질을 끌어올릴 수 있다.”


Week3 Markdown

  • 정의/역사: 경량 마크업 언어(John Gruber & Aaron Swartz, 2004) — README, 위키, 블로그에 광범위 사용
  • 주요 문법:
    • Italic*text* / Bold**text**
    • 헤더 → #, ##, ### … / 목록 → -, 1.
    • 링크 → [text](url) / 이미지 → ![alt](url)
    • 인용문 → > quote / 코드 → `inline` + 코드블록
  • 연습 자료:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%