[Git] - Shell Command & TIL

Lee Jeong Min·2021년 7월 14일
1
post-thumbnail

오늘은 개인적으로 강의 듣는 시간이 아닌 최우영 강사님이 Git/Github 기초에 대한 설명을 해주셨다. 오늘 배운 내용은 다음과 같다.

  • Shell Command & Vim
  • Git & Commit Convention
  • TLI & Github Blog

📌 Shell Command & Vim

Shell Command

쉘 커맨드와 관련해선 학교에서 시스템쪽 과제를 할 때, 그램에 듀얼부팅 해놓은 우분투를 사용하면서 다루어 본 것들이 많았다. 그래서 내용을 더 쉽게 들을 수 있었는데 쉘 커맨드에 대한 수업을 시작하기 전 간단한 리눅스와 커널, Linus Torvals와 같은 컴퓨터 공학의 역사에 대해서 대충 알아보는 시간을 가졌다.

오늘 수업에서 사용한 명령어는 다음과 같았다.

  • ls
  • ls -a (숨김 파일까지 보여주는데 Mac os에서 숨김파일은 .이 파일명 앞에 붙어있음)
  • ls -l (라인 바인 라인으로 보여줌)
  • ls -al
  • cd
  • mkdir
  • mv (파일 이동과 이름 변경 동시에 사용)
  • cp
  • rm
  • touch (파일 생성)
  • cat (파일에 있는 내용 보기)
  • rm (특정 폴더를 지울 때 rm만으로는 지울 수 없는데 path의 역할을 하는 디렉토리안의 길을 잃는 오브제긑가 발생하지 않게 만들기 위함이라고 한다)
  • rm -rf

Vim

vim 또한 우분투를 사용하면서 조금은 써보았지만 정확한 단축키들을 몰랐는데 이번에 들으면서 내가 알지 못하였던 단축키 속성들을 알게되어서 나중에 까먹지 않고 써먹으면 유용할 것 같다.

  • h j k l (left, down, up, right)
  • i (normal mode -> insert mode)
  • ESC (back to normal mode)
  • dd (delete a line)
  • Y (copy)
  • p (paste)
  • u (undo)
  • d7j or dk7 (여러 줄 지우는 단축키로 d7j의 경우 아래로 7줄 지우는거고 d7k는 위로 7줄 지우는거)
  • shift + a (그 줄의 끝에가서 insert mode 시작)
  • dd + p (잘라내고 붙여넣기)
  • :wq (수정하고 나가기)
  • :q! (수정하지 않고 나가기)

📌 Git & Commit Convention

Git

깃은 평소에 혼자서 많이 사용하긴 하지만 팀들과 협업할때 많이 사용해보지 않아서 기본적인 명령어인 git add ., git commit -m "message", git push origin main 을 주로 사용해왔다.

수업을 통해 깃이 리누스 토발즈가 화가나서 2주만에 만들었다는 사실을 알게되었고 깃의 process flow와 object, config 사용법에 대해서 알게되었다.

깃 --> SCM(Source Control Management)
깃허브 --> 깃을 이용한 웹 서비스
깃랩 --> 사설서버 구축가능

git 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

레포지토리를 생성하는 방법은 크게 두 가지가 있는데

  • git init
  • git clone

이 있다.

git init의 경우, 원격으로 레포를 하나 간단히 만들어 두고 자신이 로컬 폴더에다가 다음의 순서로 원격 레포와 연결 시킨다.

mkdir <new_folder> && cd <new_folder>
git init
git remote add origin <원격 레포 주소>
touch README.md
git add  README.md
git commit -m "docs: Create README.md"
git push -u origin master

여기서 -u의 옵션이 궁금해서 찾아보았는데 처음 푸쉬할때 자신의 로컬에 있는 main와 원격에 있는 main이 서로 같은 브런치임을 말하는 것이며 이것을 사용하게 되면 다음에 푸쉬나 풀을 할 때 단순히 git push, git pull만 써도 작동된다고 한다.

git clone의 경우 깃허브에서 레포지토리를 만들 때 add readme, .gitignore, license등을 설정해두고 자신의 로컬에서 git clone만 하면 바로 뚝딱 완성된다. --> 추천!

Commit Convention

오늘 배운 내용 중에 가장 흥미가 있었던 내용이다. 오픈소스를 사용할 때 여러 사람들과 같이 사용해서 커밋을 할때의 일정한 규약을 통해 그것만 보고도 어떠한 작업을 하였는지 알기 쉽게해주는 것이다. 이와 관련해선 따로 포스트를 작성할 예정이다.

여기서 간단하게 Commit Convention에 대해서 말하면 다음과 같다.

  • 커밋 제목은 50자 이내로 요약하며 작성한다.
  • 제목과 내용사이 한 칸
  • prefix를 사용하여 한 눈에 커밋의 용도를 알기 쉽게 한다.
feat: features
docs: documentations
conf: configurations
test: test
fix: bug-fix
refactor: refactoring
ci: Continuous Integration
build: Build
perf: Performance

Commit Convention - example

feat: Create server.py to start flask project
docs: Create README.md
conf: poetry init
test: User model CRUD test complete

📌 TIL & Github Blog

TIL

TIL란 Today I Learned의 약자로 오늘 공부한 내용을 기록하는 것이다. 이것을 레포지토리로 만들었는데 매일매일 하나씩 꾸준히 간단하게라도 적어서 올리면 잔디가 채워져서 보기 좋을 것 같다. 자세히 공부한 내용들은 velog에 작성하고 간단한 내용들은 하루하루 TIL의 md파일로 올릴 예정이다.

Github Blog

깃헙 블로그는 한번도 사용해보지 않았는데 hexo를 이용해서 깃허브 블로그를 만드는 법을 배웠다.


hexo란 빠르고 간단하고 강력한 블로그 프레임워크라고 하는데

사용방법으로 우선 hexo-cli을 설치해주어야한다

sudo npm install -g hexo-cli

그 이후에

hexo init <blog_folder>

를 사용하여 블로그 폴더를 만들어 주고

cd blog_folder && npm install

을 해준다.

이 이후에 포스트를 생성하기 위해

hexo new post "포스트 제목"

을 해주면 새로운 포스트가 만들어지고 이 포스트의 위치를 cli에서 확인할 수 있다. 확인된 위치에서 vim을 이용해 md를 수정해주고

hexo generate	

를 사용하여 파일들을 생성해주고

hexo server

를 통해 자신이 만든 포스트를 로컬 환경에서 미리 볼 수 있다.

Next
Hexo의 테마로 Next라는 것을 배웠는데 blog폴더 안에서 git clone을 사용하여 다운받은 후 _config.yml에서 테마를 수정해주어야 한다.

최종적으로 디플로이 하기 위해 마찬가지로 _config.yml에서 몇몇 정보들을 수정해주고 난 후

hexo clean
hexo deploy

를 해주면 git을 통해 자동으로 깃허브에 올라가서 {username}.github.io로 들어가 자신이 만든 블로그와 포스트를 확인할 수 있다.

profile
It is possible for ordinary people to choose to be extraordinary.

0개의 댓글