Skip to content

jini05/oss_git_example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

인공지능학부 242865 장지은

[과제] oss_git_example / README.md 파일 작성


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

  • 과목명: 오픈소스소프트웨어 (SAI0003-2)
  • 담당교수: 최광훈 (전남대학교 인공지능학부)
  • 수업목표:
    • 오픈소스SW의 개념과 도구 학습
    • Git/GitHub을 통한 협업 능력 향상
    • 자기주도적 학습 태도 함양
  • 운영방식: 플립러닝 기반 실습 중심
  • 평가비율: 중간 30%, 기말 40%, 과제 20%, 참여도 10%
  • 특징: 강의 영상 사전 학습 → 퀴즈 → 요약 강의 → 실습

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

  • 오픈소스 정의:

    소스코드를 공개해 누구나 자유롭게 사용·수정·배포할 수 있는 소프트웨어

  • 주요 라이선스: MIT, GPL, Apache 2.0
  • 대표 프로젝트: Linux Kernel, VS Code
  • 가치: 협업, 공유, 혁신

Week2-1 : 버전 관리 개요 (VCS)

  • 목적: 파일의 변경 이력 관리, 협업 효율화
  • 유형:
    • 중앙집중형(VCS): SVN, CVS
    • 분산형(DVCS): Git, Mercurial
  • Git 장점: 오프라인 작업 가능, 손쉬운 브랜치 관리, 병합 및 복구 용이

Week2-2 : Git 기본

git init
git add .
git commit -m "first commit"
git push origin main

# 원격 저장소 추가
git remote add origin https://github.com/username/repo.git

# 다른 저장소에서 변경사항 가져오기
git fetch pb

# 차이 비교
git diff pb/main

# 원격 저장소 최신 버전으로 병합
git rebase pb/main

Week2-3 : GitHub, fork, pull request

  • GitHub란?
    Git 기반의 소셜 코딩(Social Coding) 플랫폼으로,
    개발자가 코드를 공유하고 협업하는 환경을 제공합니다.

  • 핵심 개념

    • Repository(저장소): 코드와 버전이 관리되는 공간
    • Fork: 다른 사람의 저장소를 내 계정으로 복제
    • Pull Request (PR): 수정 내용을 원본 저장소로 병합 요청
    • Issue: 버그, 제안, 질문 등을 기록하는 협업 기능

  • 기본 협업 흐름
    1. 저장소를 Fork한다.
    2. 로컬로 Clone하여 수정한다.
    3. 변경사항을 Commit & Push한다.
    4. Pull Request(PR) 를 생성해 원본 저장소에 병합 요청한다.
# 예시 명령어
git remote add pb https://github.com/kwanghoon/oss_git_example
git fetch pb
git diff pb/master
git rebase pb/master

Week2-4 : Git: Advanced Topics

1. Branch (브랜치)

  • 브랜치는 독립적인 개발 공간으로, 여러 기능을 동시에 개발할 때 사용한다.
  • 보통 다음과 같은 구조로 관리한다:
    • main : 배포용 안정 버전
    • develop : 개발 중인 통합 버전
    • feature : 새로운 기능 개발용 브랜치
# 브랜치 생성과 전환
git branch feature/login
git checkout feature/login

Week3 : Markdown

  • 정의:
    텍스트로 문서를 구조화하는 경량 마크업 언어
    (2004년 John Gruber, Aaron Swartz 개발)

  • 기본 문법 예시:

문법 기능 예시
# 제목 # 제목
*text* 기울임 text
**text** 굵게 text
[링크](url) 링크 GitHub
> 인용문 인용문 > 예시
`코드` 코드 git add

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 83.6%
  • Python 16.4%