3일차 - GIT
My Github Blog
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 control system
== SCM(Source Code Management)
< SCM(Software Configuration Management : 형상관리)
version : 특정한 타임스탬프
GIT
GIT != GITHUB
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
GIT != GITHUB
git process
- 작업하고 메모한 뒤 넘긴다.
$ 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 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
git clone
git clone {repo address}
git add .
git commit
git push origin main
- 커밋 제목은 커밋을 설명하는 하나의 구나 절로 완성 (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
- Commit은 동작 가능한 최소단위로 자주 할 것
- 해당 작업단위에 수행된 모든 파일 변화가 해당 Commit에 포함되어야 함
- 모두가 이해할 수 있는 log를 작성할 것
- Open Source Contribution시 영어가 강제되지만, 그렇지 않을 경우 팀 내 사용 언어를 따라 쓸 것
- 제목은 축약하여 쓰되(50자 이내), 내용은 문장형으로 작성하여 추가설명 할 것.
- 제목과 내용은 한 줄 띄워 분리할 것
- 내용은 이 Commit의 구성과 의도를 충실히 작성할 것
오픈 소스 프로젝트에서 가장 중요한 License는 내가 만들 때에도, 배포할 때에도 가장 신경써야 하는 일 중 하나입니다.
가장 많이 사용하는 License는 다음과 같음
- MIT License
- MIT에서 만든 라이센스로, 모든 행동에 제약이 없으며, 저작권자는 소프트웨어와 관련한 책임에서 자유롭습니다.
- Apache License 2.0
- Apache 재단이 만든 라이센스로, 특허권 관련 내용이 포함되어 있습니다.
- GNU Genral Public License v3.0
- 가장 많이 알려져있으며, 의무사항 (해당 라이센스가 적용된 소스코드 사용시 GPL을 따라야함)이 존재합니다.
TIL, Github blog는 github을 이용하여 개인적으로 관리 추천!
- TIL(Today I Learned..) repository를 만들고 매일 학습하거나 얻은 지식을 정리
- commit을 쌓아 commit하는 습관도 기르고, 나중에 찾아보기 쉬움
- Github blog
- hexo + {username}.github.io repository로 정적 블로그를 만들어 정리하는 습관을 만들고 Markdown과 친해짐
이름 | 내용 | 특징 |
---|---|---|
Jekyll | Ruby 기반의 정적인 블로그 생성기 | 설치와 사용이 쉬움 사용자가 많았음 |
Hugo | Golang 기반의 정적인 블로그 생성기 | 빠른 속도로 사이트를 생성 사용자가 증가 중 |
Hexo | Node.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: ``
Author And Source
이 문제에 관하여(3일차 - GIT), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sonwj0915/3일차-GIT저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)