이는 Markdown 문법을 연습하고, Github 사용법을 익히기 위한 실습으로,
Italic and bold, Headers, Links, Images, Blockquotes, Lists, Paragraphs 등을 활용하였다.
오픈소스소프트웨어(OSS)는 소프트웨어 저작권 소유자가 모든 사람에게 소스 코드를 게시, 사용, 복사, 수정 및 배포할 권리를 부여한 소프트웨어를 의미한다.
-
OSS License: 오픈소스 소프트웨어의 사용, 복제, 수정, 배포 권한의 범위를 지정
- GPL (GNU General Public License)
- LGPL (GNU Lesser General Public License)
- MIT
- MPL (Mozilla Public License)
-
Free SW(자유 소프트웨어로 Free는 공짜의 뜻 아님!!)
버전 관리 시스템(VCS)은 코드의 변경 이력을 기록하고 협업 개발을 도와주는 도구이다.
- Centralized VCS : 중앙 서버 사용 (예: CVS, SVN)
- Decentralized (Distributed) VCS : 분산형 저장, 모든 사용자가 로컬 저장소 소유 (예: Git)
- 별도의 원격(중앙) 저장소
- 때로는 여러 개의 원격(중앙) repo가 있을 수 있음
General Actions in VCS
- Checkin
- Checkout and Editing
- Diffs
- Branching
- Merging
- Conflicts
- Tagging
Git은 분산형 버전 관리 시스템으로, 프로젝트의 모든 변경 사항을 추적할 수 있다.
주요 명령어
git log # 프로젝트의 커밋 이력(history)을 시간순으로 보여줌
git init # 현재 폴더를 Git 저장소로 초기화
git add . # 모든 변경된 파일을 스테이징 영역에 추가
git commit -m "first commit" # 변경사항을 커밋(저장)하고 메시지 남김
git push origin main # 원격 저장소(origin)의 main 브랜치로 업로드장점
- 로컬에서도 모든 이력 관리 가능
- 브랜치를 통한 독립적 개발 가능
- 협업과 병합이 용이함
이미지 출처: https://brunch.co.kr/@go-rani/12
GitHub는 Git 기반의 협업 플랫폼으로, 다른 사람의 프로젝트를 Fork(복제) 하여 수정하고, Pull Request(PR) 를 통해 변경 사항을 제안할 수 있다.
흐름
- 저장소 Fork
- 로컬에서 수정 및 Commit
- Pull Request 생성
- 코드 리뷰 후 Merge
고급 Git 기능에서는 브랜치 병합, 리베이스(rebase), 커밋 내용 수정, 충돌 해결 등을 다룬다.
명령어 예시
git merge <branch> # 현재 브랜치에 <branch>의 변경사항을 병합
git rebase main # 현재 브랜치를 main 브랜치의 최신 커밋 위로 재배치
git commit --amend # 가장 최근 커밋을 수정 (메시지나 파일 포함)
git rebase -i HEAD~3 # 최근 3개의 커밋을 선택적으로 수정, 삭제, 병합 가능
git blame filename.txt # 파일의 각 줄이 마지막으로 언제, 누가 수정했는지 표시
git reset --soft HEAD~1 # 마지막 커밋만 취소 (변경 내용은 유지)Markdown은 일반 텍스트 편집기를 사용하여 형식화된 텍스트를 만들기 위한 가벼운 마크업 언어로, GitHub의 README.md 파일에 널리 사용된다.
장점
- 간결함: HTML보다 문법이 단순해 빠르게 작성 가능
- 호환성: 대부분의 플랫폼(GitHub, Notion 등)에서 지원
- 가독성: 코드와 텍스트를 함께 다루기 쉬움
- 버전 관리 용이: 텍스트 기반이라 Git으로 변경 이력 추적 가능
기본 문법 예시
- 강조 (Bold, Italic)
**굵게 표시**
_기울임 표시_ # *이것* 또한 가능- 제목 (Headers)
# 제목 1
### 제목 3
###### 제목 6- 링크와 이미지 (Links, Images)
[Google 링크](https://google.com)
또는 [ ][ ] / [ ]: link

또는 ![ ][ ] / [ ]: link- 인용문 (Blockquotes)
> 인용문은 '>'를 통해 작성 가능
> 여러 줄, 여러 문단으로 이어 쓸 수도 있다.- 목록 (Lists)
* 순서 없는 목록 1 # '-' 빼기 문자로도 가능
* 순서 없는 목록 2
* 하위 목록 1
* 하위 목록 2
1. 순서 있는 목록
2. 두 번째 항목- 단락 (Paragraphs)
soft breaks!! 공백 이용해··
줄바꿈
Each dot ( · ) represents a space on the keyboard