Git 활용

TIL Day 28

By polaris0208

git / github / github pages

분산 버전 관리 시스템 협업툴

개요

  1. 개념
    • 버전관리 시스템을 분산해서 관리
      • 버전관리: history; 개발과정, 변경사항 저장
      • 분산: 데이터 베이스를 공유, 한 곳에서 데이터가 사라져도 다른 곳에 존재
    • Repository: 버전관리를 하는 저장소
      • Remote: 원격으로 관리
      • Local: 사용자의 장치 내에서 관리
    • Github: 저장소를 제공해주는 서비스 by MicroSoft
  2. Markdown 문법으로 코드를 작성
    • tag를 사용하여 문서의 구조를 나타냄
  3. 기본 명령어 Linux 명령어 기반
pwd : 현재 위치
ls : 현재 위치의 전체 파일
ls -al : 숨김파일 포함
cd : 이동
cd .. : 상위폴더로 이동
mkdir : make directory; 폴더 생성
# 위치로 이동 후에 사용
touch : 파일 생성
rm : 제거
rm r : 폴더 제거
opne . : 현재 위치 finder 열기

Repository

주의점: 말단 폴더에 생성 상위 폴더에 생성할 경우 다른 Repo를 포함할 가능성 있음

  1. 작동 원리
    • commit: 현재의 코드를 버전으로 남기는 행위
    • Working Directory: 현재 작업 중인 공간
    • Staging Area
      • 일종의 가상공간
      • 작업이 완료된(생성, 수정, 이동, 제거 등) 데이터가 대기
      • tracked, untracked, modified…
    • Repository: 커밋들이 저장된 장소

기본 사용법

  1. local repo생성
    • git init명령어로 .git폴더 생성하여 버전 관리
    • git status: 디렉토리 내부의 파일의 상태를 보여줌
    • git add: 작업한 데이터를 staging area에 등록
    • git commit -m "":Repo에 등록
      • -m "메시지"는 생략 불가능
    • git log: 커밋 이력을 확인 가능
  2. 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
  1. github repo 사용
    • 원격 저장소를 가져오기
git clone "remote_repo_url"
  • 로컬에서 작업한 소스를 원격 저장소에 추가하기
git remote add origin ""remote_repo_url"
  • 커밋 원격 저장소에 추가하기
git push origin branch main

error

git pushusername, password 요구 문제

  • 깃허브 유저명 입력
  • 깃허브 access tokene 발급하여 password에 입력
    • repo 설정 체크
    • 페이지를 나가면 코드 확인 불가능 - 따로 저장
    github 로그인
    profile
    setthings
    Developer Setthings
    Personal access tokens 
    classic token 발급
    

Pages

username.github.ioRepository 생성

  1. readme.md, index.html 생성
    • index.html !단축키로 자동완성
  2. Settings로 이동
  3. pages
  4. “your site” username.github.io
  5. username.github.iourl로 가지는 웹페이지(정적 사이트) 생성

github blog

homebrew, jekyll

  1. githubjekyll 기반 블로그 기능을 기본 제공
  2. markdown 양식으로 post를 작성하면 html양식으로 화면에 출력

Hombrew 설치

  • maclinux를 위한 패키지 매니저
  • 코드를 작성하여 다양한 패키지를 설치 관리
  • Ruby 기반
  • “homebrew” 홈페이지 접속후 코드 복사
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

rbenv 설치

  • Ruby의 버전을 독립적으로 사용 가능하게 해주는 패키지
  • Apple Sillicon MacRuby를 기본 제공
  • 버전이 2.6.1.0 에 고정
ruby -v           
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin23]
  • rbenv를 설치하여 최신버전을 이용
    1. 설치
brew install rbenv ruby-build
rbenv init
  1. 버전 확인
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
  1. 필요한 버전 설치
rbenv install 3.3.3
rbenv global 3.3.3
  1. MacRubyrbenv최신버전으로 대체

    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 설치

  • 홈페이지 생성 패키지
    1. jekyll 다운로드
gem install bundler 
gem install jekyll
  • bundler: 여러개의 파일을 하나로 묶어줌
  • gem: ruby의 라이브러리 기능
  1. 홈페이지 생성
    • username.github.io 저장소의 모든 파일 제거
    • 해당 repository로 이동
    • jekyll로 홈페이지 생성: 기본 파일들이 설치됨
jekyll new ./
  1. 로컬 환경에서 테스트
bundle install
boundle exec jekyll serve
  • 코드를 입력하면 로컬주소를 생성: http://127.0.0.1:4000/
  • 접속하여 작동 확인
  • 확인 후 commit, push
  • 5분 정도의 시간 경과 후 username.github.io에 기본적인 페이지가 생성됨
Tags: TIL Tools