git / github / github pages
분산 버전 관리 시스템 협업툴
개요
- 개념
- 버전관리 시스템을 분산해서 관리
- 버전관리: history; 개발과정, 변경사항 저장
- 분산: 데이터 베이스를 공유, 한 곳에서 데이터가 사라져도 다른 곳에 존재
- Repository: 버전관리를 하는 저장소
- Remote: 원격으로 관리
- Local: 사용자의 장치 내에서 관리
- Github: 저장소를 제공해주는 서비스 by MicroSoft
- 버전관리 시스템을 분산해서 관리
- Markdown 문법으로 코드를 작성
- tag를 사용하여 문서의 구조를 나타냄
- 기본 명령어 Linux 명령어 기반
pwd : 현재 위치
ls : 현재 위치의 전체 파일
ls -al : 숨김파일 포함
cd : 이동
cd .. : 상위폴더로 이동
mkdir : make directory; 폴더 생성
# 위치로 이동 후에 사용
touch : 파일 생성
rm : 제거
rm r : 폴더 제거
opne . : 현재 위치 finder 열기
Repository
주의점: 말단 폴더에 생성 상위 폴더에 생성할 경우 다른 Repo를 포함할 가능성 있음
- 작동 원리
- commit: 현재의 코드를 버전으로 남기는 행위
- Working Directory: 현재 작업 중인 공간
- Staging Area
- 일종의 가상공간
- 작업이 완료된(생성, 수정, 이동, 제거 등) 데이터가 대기
- tracked, untracked, modified…
- Repository: 커밋들이 저장된 장소
기본 사용법
- local repo생성
git init
명령어로 .git폴더 생성하여 버전 관리git status
: 디렉토리 내부의 파일의 상태를 보여줌git add
: 작업한 데이터를 staging area에 등록git commit -m ""
:Repo에 등록-m "메시지"
는 생략 불가능
git log
: 커밋 이력을 확인 가능
- github 계정 생성
- gmail로 가입 권장
- username은 튀지 않게 영어로 작성
--global
: 해당 설정을 현재 작업을 포함 전역적으로 사용
git config --global user.name "name"
git config --global user.email "gmail.com"
- 확인 방법
git config user.name
git config user.email
- github repo 사용
- 원격 저장소를 가져오기
git clone "remote_repo_url"
- 로컬에서 작업한 소스를 원격 저장소에 추가하기
git remote add origin ""remote_repo_url"
- 커밋 원격 저장소에 추가하기
git push origin branch main
error
git push
시 username, password 요구 문제
- 깃허브 유저명 입력
- 깃허브 access tokene 발급하여 password에 입력
- repo 설정 체크
- 페이지를 나가면 코드 확인 불가능 - 따로 저장
github 로그인 profile setthings Developer Setthings Personal access tokens classic token 발급
Pages
username.github.io
로 Repository 생성
readme.md
,index.html
생성index.html
!
단축키로 자동완성
- Settings로 이동
pages
- “your site”
username.github.io
username.github.io
를 url로 가지는 웹페이지(정적 사이트) 생성
github blog
homebrew, jekyll
- github는 jekyll 기반 블로그 기능을 기본 제공
- markdown 양식으로 post를 작성하면 html양식으로 화면에 출력
Hombrew 설치
- mac 과 linux를 위한 패키지 매니저
- 코드를 작성하여 다양한 패키지를 설치 관리
- Ruby 기반
- “homebrew” 홈페이지 접속후 코드 복사
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
rbenv 설치
- Ruby의 버전을 독립적으로 사용 가능하게 해주는 패키지
- Apple Sillicon Mac 은 Ruby를 기본 제공
- 버전이 2.6.1.0 에 고정
ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin23]
- rbenv를 설치하여 최신버전을 이용
- 설치
brew install rbenv ruby-build
rbenv init
- 버전 확인
rbenv install -l
#
3.1.6
3.2.4
3.3.3
jruby-9.4.7.0
mruby-3.3.0
picoruby-3.0.0
- 필요한 버전 설치
rbenv install 3.3.3
rbenv global 3.3.3
- Mac의 Ruby를 rbenv최신버전으로 대체
Mac이 최신버전이 아닌 2.6.1.0 버전으로만 설치 진행하는 error 발생 jekyll등 일부 패키지의 최신 버전을 지원하지 않음
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)"
source .zprofile
#
ruby -v
ruby 3.3.3 (2024-06-12 revision f1c7b6f435) [arm64-darwin23
jekyll 설치
- 홈페이지 생성 패키지
- jekyll 다운로드
gem install bundler
gem install jekyll
- bundler: 여러개의 파일을 하나로 묶어줌
- gem: ruby의 라이브러리 기능
- 홈페이지 생성
username.github.io
저장소의 모든 파일 제거- 해당 repository로 이동
- jekyll로 홈페이지 생성: 기본 파일들이 설치됨
jekyll new ./
- 로컬 환경에서 테스트
bundle install
boundle exec jekyll serve
- 코드를 입력하면 로컬주소를 생성:
http://127.0.0.1:4000/
- 접속하여 작동 확인
- 확인 후
commit
,push
- 5분 정도의 시간 경과 후
username.github.io
에 기본적인 페이지가 생성됨