[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기

해당 포스트는 T아카데미에서 제공하고 있는 강의 중, '비개발자를 위한 Git과 Github Page 블로그 만들기' 강의를 정리한 내용입니다.

0. 강사 소개 (안수빈)

  • @subinium (#수비니움)
  • 고려대학교 사이버국방학과 졸업 예정
  • SW마에스트로 10기

1. Git 기초 (Git 공식사이트)

  • Git이 필요한 이유

    • VCS (Version Control System, 버전 관리 시스템) : 파일의 변경 사항을 저장하고, 원하는 시점의 버전을 다시 꺼내올 수 있는 시스템
    • Snapshot : 특정 시점에서 파일의 상태 (현재 상태의 모든 정보)
    • Delta : 파일의 이전 상태와 비교한 변경사항
  • Git의 기본 idea

    • Subversion (SVN) : CVCS(Central VCS, 중앙집중식) 중 대표적인 시스템으로 파일의 모든 변경 사항을 저장하는 방법
    • Git : DVCS, 저장소의 파일 시스템 전체를 스냅샷으로 취급, 변경하지 않은 파일은 새로 저장하지 않고 링크만 저장
  • Easy Git

    1. Git을 사용하겠다고 선언 : init
    2. 파일을 추가/수정/삭제 : stage, commit
    3. 원하는 변경 사항 선택
    4. 상태 업데이트 : status, checkout

2. Github 실습

[어벤저스] 프로젝트를 통해 브랜치 등 Github에 대한 소개

  1. 프로젝트 총 관리자 및 시작자 닉 퓨리 시점

    • 프로젝트 시작 선언 git init : Git 초기화를 의미, 로컬에서 진행
      • .git 폴더 : 버전 관리 정보
      • .gitignore 파일 : git 추적 대상에서 제외 참고
    • 파일 스테이지로 올리기 git add [file] : [file]을 스테이지로 올림, 폴더나 전체도 가능
    • 파일 상태 체크하기 git status or git diff
    • 스테이지에 있는 내용 커밋 git commit -m "add README.md" : 간단한 설명과 함께 commit
    • 커밋 기록 살펴보기 git log : 이전 commit 기록 살펴보기
    • 원격 저장소와 연결 git remote add origin [url] : origin 이라는 이름으로 [url]과 연결
    • 원격 저장소로 올리기 git push origin master : 원격 저장소 master branch에 업데이트
  2. 슈퍼 개발자 아이언맨 시점

    • 원격 저장소 다운받기 git clone [url] : 원격 저장소에서 다운로드
    • 기능별로 개발하기 git branch [name] : [name] branch 만들기
    • 브랜치/버전 이동하기 git checkout [name] : [name] branch로 이동하기
    • 브랜치 합치기 git merge [name] : [name] branch를 현재 branch로 합친다
  3. 현실 Branch 마스터 닥터 스트레인지 시점

    • 브랜치 합치기(2) git rebase master : base를 master로 re-base한다
    • 브랜치 지우기 git branch -d [name] : 완료된 branch를 지웁니다
  4. 프로젝트 리더 캡틴 아메리카 시점

    • 원격에서 기록 가져오기 git fetch : 원격 저장소와 동기화
    • 원격에서 가져오고 합치기 git pull : 원격 저장소와 동기화하고 merge
  5. 잘못하고 눈치보는 스파이더맨 시점

    • 실수한 커밋을 리셋 git reset [option] [branch] : Branch 이후 기록을 없애자
    • 실수한 커밋도 내 커밋이오 git revert [branch] : 수정한 기록도 남기자
    • Branch 바꿔야하는데 커밋이 싫다면 git stash : 현재 작업하고 있는 작업물을 따로 저장하기
  6. 기여하고 싶은 그루트 시점

3. Github Page 활용하기

Github Page + Jekyll 로 개인 블로그를 만들고 앞으로 관리 방법까지!

  1. Markdown 문법
    • 텍스트에 양식을 입히는 마크업 언어의 일종, HTML과 연동 가능
  2. 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. 안수빈 님의 블로그 및 관리 공간

5. 실습 환경