3일차 - GIT

개발 log·2021년 7월 14일
0

TIL

목록 보기
2/21

My Github Blog

https://sonwonjae.github.io/

git bash

git bash 설치 https://gitforwindows.org/

$, # 사인이 떠있으면 입력을 받아들일 준비가 된 것
~는 사용자 최상위 폴더를 의미

수업은 CLI(CUI)로 진행함

명령어 뒤에 -를 붙여서 옵션 설정가능 (flag)
1. ls -l (상세정보)
2. ls -a (숨김파일까지 확인)
3. ls -al (숨김파일까지 상세정보 표시)

명령어 모음

sudo : 관리자권한 (사용시 주의)
touch [파일이름] : 파일 생성
mv [파일이름][폴더이름(경로)] : 파일 폴더로 이동
mv [파일이름][파일이름] : 파일 이름 변경
mv [파일이름][폴더경로/파일이름] : 파일 이름변경하며 폴더이동
cp [파일이름][폴더경로] : 파일 복사
cp [파일이름][폴더경로/파일이름] : 파일 복사하며 폴더이동
rm [파일이름.확장자] : 파일 삭제
rm [*.확장자] : 해당 확장자를 모두 삭제
rm [이름.*] : 해당 이름을 모두 삭제

  • rm -rf [폴더이름] : 폴더와 그 안의 파일을 모두 삭제
    • rm -rf / 하면 난리남

[프로그램][파일이름.확장자] : 파일 실행
cat [파일이름.확장자] : 파일 내용보기

object와 path를 구분해야함

object : 파일
path : 디렉토리

VIM

노멀모드에서 insert 모드로 진입

vi를 켜고 i를 눌렀을 때 좌측하단에 --INSERT--

다시 노멀모드로 전환

esc

VIM Command

Main


h,j,k,l - left, down, up, right
화살표키 - 이동버튼
shift + y - 한 줄 복사
p - 붙여넣기
dd - 삭제(잘라내기)
d{n}k - 윗줄 삭제(잘라내기) {n} : 숫자
d{n}j - 아랫줄 삭제(잘라내기)
u - undo(ctrl + z)
shift + a - 해당 라인의 끝에서 insert모드 실행
0 - 맨 앞칸으로 이동
:w - 저장
:q - VIM 나가기
:q! - 저장하지 않고 VIM 나가기
:wq - 저장하고 VIM 나가기

Sub


v - visual mode
y - yank
yy - yank a line
a - append
A - append from end of line
o - open line(under)
O - open line(upper)
H - move to the top of the screen
L - move to the bottom of the screen

VCS

version control system
== SCM(Source Code Management)
< SCM(Software Configuration Management : 형상관리)

version : 특정한 타임스탬프

GIT

GIT != GITHUB

참조 페이지
https://ulgoon.github.io/2019/09/01-git-first/

git process

  • 작업하고 메모한 뒤 넘긴다.

Set Configuration

$ git config --global user.name "{github username}"
$ git config --global user.email "{github email address}"
$ git config --global core.editor "vim"
$ git config --global core.pager "cat"
$ git config --list

  • optional $ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

GIT Repo 추가

방법 1

git init

처음 Push 할 때

git init
git remote add origin https://github.com/{username}/{reponame}.git
touch README.md
git add README.md
git commit -m "docs: Create README.md"
  or
git commit [VIM으로 이동 후 커밋]
git push -u origin main(master)

두번째 부터 Push 할 때

git add .
git commit
git push origin master

방법 2

git clone

git clone {repo address}
git add .
git commit
git push origin main

GIT Commit Convention

  • 커밋 제목은 커밋을 설명하는 하나의 구나 절로 완성 (50자 이내)
  • 제목과 내용사이 한칸
  • prefix를 사용하여 한 눈에 커밋의 용도를 알기 쉽게 한다
feat: features (기능 개발 관련)
docs: documentations (문서화 작업)
conf: configurations (환경설정 관련)
test: test (test 관련)
fix: bug-fix (오류 개선 혹은 버그 패치)
refactor: refactoring (리팩토링 관련)
ci: Continuous Integration (Continuous Integration 관련)
build: Build (build 관련)
perf: Performance (퍼포먼스 관련)

Example

feat: Create server.py to start flask project
docs: Create README.md, LICENSE
conf: poetry init
test: User model CRUD test complete
fix: Fix Typo server.py
BREAKING CHANCE: Drop Support /api/v1
refactor: Refactor user classes

GIT Commit할 때 중요한 것

  • Commit은 동작 가능한 최소단위로 자주 할 것
  • 해당 작업단위에 수행된 모든 파일 변화가 해당 Commit에 포함되어야 함
  • 모두가 이해할 수 있는 log를 작성할 것
  • Open Source Contribution시 영어가 강제되지만, 그렇지 않을 경우 팀 내 사용 언어를 따라 쓸 것
  • 제목은 축약하여 쓰되(50자 이내), 내용은 문장형으로 작성하여 추가설명 할 것.
  • 제목과 내용은 한 줄 띄워 분리할 것
  • 내용은 이 Commit의 구성과 의도를 충실히 작성할 것

LICENSE

오픈 소스 프로젝트에서 가장 중요한 License는 내가 만들 때에도, 배포할 때에도 가장 신경써야 하는 일 중 하나입니다.
가장 많이 사용하는 License는 다음과 같음

  • MIT License
    • MIT에서 만든 라이센스로, 모든 행동에 제약이 없으며, 저작권자는 소프트웨어와 관련한 책임에서 자유롭습니다.
  • Apache License 2.0
    • Apache 재단이 만든 라이센스로, 특허권 관련 내용이 포함되어 있습니다.
  • GNU Genral Public License v3.0
    • 가장 많이 알려져있으며, 의무사항 (해당 라이센스가 적용된 소스코드 사용시 GPL을 따라야함)이 존재합니다.

GIT은 습관이 가장 중요!

TIL, Github blog는 github을 이용하여 개인적으로 관리 추천!

  • TIL(Today I Learned..) repository를 만들고 매일 학습하거나 얻은 지식을 정리
    • commit을 쌓아 commit하는 습관도 기르고, 나중에 찾아보기 쉬움
  • Github blog
    • hexo + {username}.github.io repository로 정적 블로그를 만들어 정리하는 습관을 만들고 Markdown과 친해짐

Static Site Generator

이름내용특징
JekyllRuby 기반의 정적인 블로그 생성기설치와 사용이 쉬움
사용자가 많았음
HugoGolang 기반의 정적인 블로그 생성기빠른 속도로 사이트를 생성
사용자가 증가 중
HexoNode.js 기반의 정적인 블로그 생성기Node.js를 안다면 커스터마이즈가 쉬움
빠른 속도로 사용자 증가 중

Hexo를 이용하여 Github Blog 만들기

Init hexo project

hexo init {foldername}
cd {foldername}
npm install

Clean && Generate static files

hexo clean && hexo generate

Run hexo server

hexo server

deploy

npm install hexo-deployer-git --save
deploy:
  type: git
  repo: {repository url}
  branch: main # published
  message:
``
profile
개발자 지망생

0개의 댓글