해당 포스트는 T아카데미에서 제공하고 있는 강의 중, '비개발자를 위한 Git과 Github Page 블로그 만들기' 강의를 정리한 내용입니다.
0. 강사 소개 (안수빈)
- @subinium (#수비니움)
- 고려대학교 사이버국방학과 졸업 예정
- SW마에스트로 10기
1. Git 기초 (Git 공식사이트)
-
Git이 필요한 이유
- VCS (Version Control System, 버전 관리 시스템) : 파일의 변경 사항을 저장하고, 원하는 시점의 버전을 다시 꺼내올 수 있는 시스템
- CVCS(중앙집중식 버전 관리 시스템), DVCS(분산 버전 관리 시스템)
- Snapshot : 특정 시점에서 파일의 상태 (현재 상태의 모든 정보)
- Delta : 파일의 이전 상태와 비교한 변경사항
- VCS (Version Control System, 버전 관리 시스템) : 파일의 변경 사항을 저장하고, 원하는 시점의 버전을 다시 꺼내올 수 있는 시스템
-
Git의 기본 idea
- Subversion (SVN) : CVCS(Central VCS, 중앙집중식) 중 대표적인 시스템으로 파일의 모든 변경 사항을 저장하는 방법
- Git : DVCS, 저장소의 파일 시스템 전체를 스냅샷으로 취급, 변경하지 않은 파일은 새로 저장하지 않고 링크만 저장
-
Easy Git
- Git을 사용하겠다고 선언 :
init
- 파일을 추가/수정/삭제 :
stage
,commit
- 원하는 변경 사항 선택
- 상태 업데이트 :
status
,checkout
- Git을 사용하겠다고 선언 :
2. Github 실습
-
Github과 Sourcetree
- Sourcetree 링크 : https://www.sourcetreeapp.com/
- GUI Tools 소개 : https://git-scm.com/downloads/guis
- 그 외 알아두면 좋은 것들(Terminal, git bash 등) : https://git-scm.com/downloads/
-
예시와 함께하는 기초 명령어
-
알아두면 좋은 심화 명령어
-
작업을 병렬로 하기 위한 특별한 기능 :
branch
[어벤저스] 프로젝트를 통해 브랜치 등 Github에 대한 소개
-
프로젝트 총 관리자 및 시작자 닉 퓨리 시점
- 프로젝트 시작 선언
git init
: Git 초기화를 의미, 로컬에서 진행.git
폴더 : 버전 관리 정보.gitignore
파일 : git 추적 대상에서 제외 참고
- 파일 스테이지로 올리기
git add [file]
: [file]을 스테이지로 올림, 폴더나 전체도 가능 - 파일 상태 체크하기
git status
orgit diff
- 스테이지에 있는 내용 커밋
git commit -m "add README.md"
: 간단한 설명과 함께 commit - 커밋 기록 살펴보기
git log
: 이전 commit 기록 살펴보기 - 원격 저장소와 연결
git remote add origin [url]
: origin 이라는 이름으로 [url]과 연결 - 원격 저장소로 올리기
git push origin master
: 원격 저장소 master branch에 업데이트
- 프로젝트 시작 선언
-
슈퍼 개발자 아이언맨 시점
- 원격 저장소 다운받기
git clone [url]
: 원격 저장소에서 다운로드 - 기능별로 개발하기
git branch [name]
: [name] branch 만들기 - 브랜치/버전 이동하기
git checkout [name]
: [name] branch로 이동하기 - 브랜치 합치기
git merge [name]
: [name] branch를 현재 branch로 합친다
- 원격 저장소 다운받기
-
현실 Branch 마스터 닥터 스트레인지 시점
- 브랜치 합치기(2)
git rebase master
: base를 master로 re-base한다 - 브랜치 지우기
git branch -d [name]
: 완료된 branch를 지웁니다
- 브랜치 합치기(2)
-
프로젝트 리더 캡틴 아메리카 시점
- 원격에서 기록 가져오기
git fetch
: 원격 저장소와 동기화 - 원격에서 가져오고 합치기
git pull
: 원격 저장소와 동기화하고 merge
- 원격에서 기록 가져오기
-
잘못하고 눈치보는 스파이더맨 시점
- 실수한 커밋을 리셋
git reset [option] [branch]
: Branch 이후 기록을 없애자 - 실수한 커밋도 내 커밋이오
git revert [branch]
: 수정한 기록도 남기자 - Branch 바꿔야하는데 커밋이 싫다면
git stash
: 현재 작업하고 있는 작업물을 따로 저장하기
- 실수한 커밋을 리셋
-
기여하고 싶은 그루트 시점
- 원격 저장소
fork
하기 : 따로 명령어 없음. github 사이트에서 수행 가능 - Pull Request 하는 법 : git 초보를 위한 풀리퀘스트(pull request) 방법
- 원격 저장소
3. Github Page 활용하기
Github Page + Jekyll 로 개인 블로그를 만들고 앞으로 관리 방법까지!
- Markdown 문법
- 텍스트에 양식을 입히는 마크업 언어의 일종, HTML과 연동 가능
- Github Page 구조 및 실습
- Jekyll : Github 페이지에서 사용할 수 있는 사이트
- Minimal mistake : Github 블로그 인기 Theme 중 하나, Github Page 구조 이해 및 연습에 좋음
- devportfolio : 포트폴리오 Theme
Jekyll 기본 파일들
_config.yml
: 설정 파일_posts
: 블로그 포스팅_pages
: 개별 페이지_includes
: 글에 포함되는 개별 요소_layouts
: 글의 양식assets
: image, css 등index.html
: 표지
Think About
- Why? : 왜 글을 쓸까? Self Branding & Study
- Who? : 누구와 글을 쓸 것이고, 누가 글을 읽을 것인가?
- How? : 어떻게 쓸 것인가? 최대한 적은 노력
- What? : 무엇을 써야할까? 나의 성장을 위한 글
- Where? : 어디에 쓸 것인가? 효율적인 공유
- When? : 어느정도 주기로 쓸까? 우선순위
4. 안수빈 님의 블로그 및 관리 공간
- 수비니움의 코딩일지 : https://youtube.com/c/수비니움의코딩일지
- 안수빈의 블로그 : https://subinium.github.io
- A.I. Lookbook : https://www.facebook.com/AI.Lookbook
- 알고리즘으로 고통받는 취준생을 위한 안내서 : https://www.facebook.com/algoguide/
- 삽질하는 디발자와 개자이너 : https://www.facebook.com/shovelingdesignoper/
5. 실습 환경
- T아카데미 강의 링크 : Git & GitHub Page
- github 링크 : 계정이 없는 경우 회원가입 및 이메일 인증 필요
- Source Tree 링크 : 실습 프로그램 소스트리 다운로드 링크