Skip to content

gigyeyuye/oss_git_example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MarkDown 실습 2

Italic and bold faces, Headers, Links, Images, Blockquotes, Lists, Paragraphs 활용

아래 예시 내용을 README.md 파일로 작성하여 본인의 oss_git_example github 저장소에 올리기
GitGub 저장소: gigyeyuye/oss_git_example/README.md

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

강의 목표

  1. 오픈소스 소프트웨어 개발을 위한 기본 개념과 도구,
    특히 소스 코드 버전 컨트롤과 패키지 관리, 프로젝트 빌드를 중점으로 학습
  2. 애자일 기반 소프트웨어 개발 방법인 짝 프로그래밍, 테스트 주도 개발, 행위 주도 개발, 클라우드 기반 데브옵스를 공부
  3. 새로운/낯선 소프트웨어 개발 환경 및 도구를 스스로 배우는 태도 장착

평가 방법

  • 중간: 30%
  • 기말: 40%
  • 개별과제: 20%
  • 출석: 10%

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

강의 자료(PPT)

GitHub Octoverse

octoverse

  • 오픈소스소프트웨어 동향 확인

오픈소스소프트웨어란 무엇인가?

  1. 오픈소스소프트웨어 소프트웨어 저작권 소유자가 모든 사람에게 소스 코드를 게시, 사용, 복사, 수정 및 배포할 권리를 부여한 소프트웨어
  2. OSS License
    오픈소스 소프트웨어의 사용, 복제, 수정, 배포 권한의 범위를 지정
    • Examples
      • GPL (GNU General Public License)
      • LGPL (GNU Lesser General Public License)
      • MIT License
      • BSD License
      • Apache License
      • MPL (Mozilla Public License)

Week2-1 버전 관리 개요

강의 자료(PPT)

Version Control System (VCS)

  1. VCS란? : 파일을 시간에 따라 추적하여 이전 작업 버전으로 쉽게 돌아갈 수 있음
  2. VCS software
    • CVS (Concurrent Version System)
    • SVN (Subversion)
    • Mercurial
    • Darcs
    • Git
  3. Repository or Repo (저장소)

General Actions in VCS

  1. Checkin
  2. Checkout and editing
  3. Diffs
  4. Branching
  5. Merging
  6. Conflicts
  7. Tagging

Week2-2 Git

분산 버전 제어 시스템

  • 작업 공간
    작업 중인 파일
  • 인덱스
    다음 커밋에서 고려해야 할 (단계된) 파일
  • 로컬 저장소
    로컬 저장소에 커밋된 파일
  • 원격 저장소
    원격 저장소로 푸시된 파일

Week2-3 Github, fork, pull request

Github link

소셜 코딩을 위한 깃 기반 소스 코드 호스팅

fork

다른 사람의 저장소(repository)를 자신의 계정으로 복사

pull request

복사본에서 변경한 내용을 원본 저장소에 병합(merge)해달라고 요청

Week2-4 Git: Advanced topics

Stage 0: 도수 명령어

  • cd: 작업 디렉토리 변경
  • mkdir: 새로운 디렉토리 생성
  • copy: 파일 복사
  • move: 파일이나 폴더를 이동
  • dir: 현재 디렉토리의 파일/폴더 목록 출력

Stage 1: 초기화 및 commit

  • git init: 현재 디렉토리를 git 저장소로 초기화
  • git add: 파일을 index에 추가
  • git commit -m "message": 로컬 저장소에 commit / -m : 커밋 메시지 입력

Stage 2: diff 사용과 추가 commit

  • git status: 현재 작업 디렉토리와 index 상태 확인
  • git diff: 수정된 파일의 구체적인 변경 내역
  • git log: 지금까지의 commit 이력 확인

Stage 3: commit에 서명 포함하기

  • git commit -sm "message": commit 하면서 서명 포함

Stage 4: 지금까지의 commit을 push하자

  • git shortlog: 지금까지의 commit을 요약해서 보여줌
  • git remote add origin (git repository URL): 로컬 저장소와 원격 저장소 연결
  • git push origin master: 로컬 저장소의 commit을 원격 저장소에 업로드

Stage 5: 커밋 수정하기

  • git commit --amend: 가장 최근 commit 수정/ 메시지나 변경 사항 다시 기록
  • git push origin master --force: 수정한 commit을 원격저장소에 강제로 덮어씀

Stage 6: add 취소하기

  • git reset: index에 추가한 파일 취소
  • git reset HEAD~1: 가장 최근 커밋 취소

Stage 7: commit 취소하기

  • git reset: index에 추가한 파일 취소

Stage 8: pull-request 하기

  • git clone (fork한 repo URL): 원격 저장소를 로컬로 복제하여 작업할 수 있는 새 디렉토리 생성
  • git checkout -b develop: 새 브랜치(develop) 생성
  • git push origin develop: 로컬의 develop 브랜치를 원격 저장소에 업로드

Stage 9: 2개 브랜치 합치기

  • git branch: 현재 존재하는 브랜치 목록 확인
  • git checkout develop: 작업 브랜치를 develop으로 전환
  • git merge test: 현재 브랜치(develop) 기준으로 추가 브랜치(test) 병합

Stage 10: rebase 하기

  • git remote add upstream (URL): 원본 프로젝트 저장소를 upstream이란 이름으로 추가 및 추적
  • git fetch upstream dev: 원격 저장소(upstream)의 dev 브랜치 내용을 로컬로
  • git rebase upstream/dev: 현재 브랜치의 commit들을 upstream/dev에 다시 적용, 이력 깔끔히 정리
  • git rebase -i --root: 최초 commit부터 수정 가능하게 하도록 함
  • git rebase --continue: rebase 이어서 진행

Stage 11: blame으로 추적하기

  • git blame: 파일의 각 줄을 언제, 누가 수정했는지 커밋 ID와 함께 표시
  • git show (commit ID): 특정 커밋의 상세 내용을 확인

Week3 Markdown

강의 자료(PPT)

Italic and bold faces

  1. Italic
    • 문자의 양 끝에 _언더바 _
  2. BOLD
    • 문자의 양 끝에 **별표 두개 **

Headers

  1. Level1 Header
    • 문자의 맨 앞에 # 샵 하나
  2. Level2 Header
    • 문자의 맨 앞에 ## 샵 두개
  3. Level3 Header
    • 문자의 맨 앞에 ### 샵 세개
  4. Level4 Header
    • 문자의 맨 앞에 #### 샵 네개
  5. Level5 Header
    • 문자의 맨 앞에 ##### 샵 다섯
  6. Level6 Header
    • 문자의 맨 앞에 ###### 샵 여섯

Links

  1. [텍스트] (link)
  2. [텍스트] [참조링크]
    [참조링크]: 링크

Images

링크와 동일하나 앞에 ! 붙이기

Blockquotes

  1. 문장 앞에 > 붙이기

"안녕하세요"

  1. 여러 문장을 포함하고 싶은 경우: 인용문에 들어갈 모든 문장 앞에 > 붙이기

"너 자신을 알라"

-소크라테스-

Lists

  1. 순서가 없는 리스트 : 문장 앞에 * 붙이기
  • 과일
    • 바나나
    • 체리
    • 딸기
  • 고기
    • 돼지

들여쓰기로 하위 항목 표현 가능

  1. 순서가 있는 리스트 : 문장 앞에 숫자. 붙이기
  1. 라면 만들기
    1. 물 넣기
    2. 물 끓이기
    3. 스프 넣기
    4. 면 넣기
    5. 3분 기다리기
  2. 라면 먹기
    1. 김치 꺼내기
    2. 맛있게 먹기

들여쓰기로 하위 항목 표현 가능

Paragraphs

줄바꿈
문장 끝에 공백 두 칸

  1. Enter로 끝낼 시
    호랑이는 고양이과에 속하는 포유동물이다. 우리나라의 건국신화에도 등장하고 올림픽대회의 마스코트로 선정될 정도로 우리에게 친숙한 동물이다. 옛날에는 호환이라 하여 민가에 나타나 피해를 줄 정도로 많았으나 1946년 평안북도 초산에서 1마리를 잡은 것을 마지막으로 멸종되었다. 원시시대에는 경외의 대상이자 숭배의 대상이었고, 산악숭배사상과 융합되어 삿된 귀신을 물리치는 신통함이 있다고 믿는 산신신앙으로 자리잡았다. 풍수에서는 우백호로 등장하며 설화나 민화에서는 위엄이 있으면서도 애교가 있고 신성한 영물로 등장할 정도로 친숙한 대상이다. [네이버 지식백과] 호랑이 [tiger] (한국민족문화대백과, 한국학중앙연구원)

  2. 문장 끝에 공백 두 칸 추가
    호랑이는 고양이과에 속하는 포유동물이다.
    우리나라의 건국신화에도 등장하고 올림픽대회의 마스코트로 선정될 정도로 우리에게 친숙한 동물이다.
    옛날에는 호환이라 하여 민가에 나타나 피해를 줄 정도로 많았으나 1946년 평안북도 초산에서 1마리를 잡은 것을 마지막으로 멸종되었다.
    원시시대에는 경외의 대상이자 숭배의 대상이었고, 산악숭배사상과 융합되어 삿된 귀신을 물리치는 신통함이 있다고 믿는 산신신앙으로 자리잡았다.
    풍수에서는 우백호로 등장하며 설화나 민화에서는 위엄이 있으면서도 애교가 있고 신성한 영물로 등장할 정도로 친숙한 대상이다.
    [네이버 지식백과] 호랑이 [tiger] (한국민족문화대백과, 한국학중앙연구원)

About

2025-2_OSS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%