[패스트캠퍼스 FE MGS 3기] - 2일차
오늘 배운 내용
Git 마스터를 향하여...
shell 이란?
CLI
Vim
kernel 이란?
CLI로 git 사용해보기
git 꿀팁들
기타
기억에 남는 말들..
Git 마스터를 향하여..
어제에 이어서 Git
에 대해 공부하는 시간을 가졌다.
최우영 강사님과 함께 했는데, 굉장히 실무적으로 잘 알려주셨다. (탕비실로 따라와)
오늘 배운것은, CLI(git bash)
를 활용해서 git
을 다루는 방법이였다.
그래서 오늘 다루게 될 내용은, 주로 CLI
의 사용법이 될 것 같다!
shell이란?
일단 CLI
사용법에 앞서 CLI
와 GUI
를 포함하고 있는 넓은 개념인,
shell
에 대하여 설명하는게 우선순위 인 것 같다.
shell
이란 다음과 같다.
운영 체제의 커널과 사용자를 이어주는 소프트웨어
CLI
와GUI
로 나뉜다.
CLI(command line interface)
마우스 없이 키보드만으로 모든 명령어를 전달하는 방식의 인터페이스
GUI(graphic user interface)
사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 환경
kernel이란?
하드웨어와 응용 프로그램을 연결해주는, 운영체제의 핵심 소프트웨어
그렇다면 이제 git
를 CLI
로 사용하는 방법에 대해 설명할 차롄데,
한가지 의문점이 들 수 있다.
"아니 요즘
github desktop
같은GUI
도구를 사용하면
클릭 한번에commit
도 되고push
도 되는데...
굳이 번거롭게CLI
로 써야 하나...?"
라는 의문점에 대해서 강사님은 이렇게 답변해주셨다!
구구절절 맞는 말인 것 같다.
나도 github desktop
을 맨 처음부터 이용했었는데,
순간 순간 위기가 찾아왔었다.
명령어에 대한 명확한 이해도도 없이
git add .
이나 git commit -m 'message'
등의 명령어들을
그저 반복해서 작성하고 있을 뿐이였는데,
(이 두가지는 끝에 다시 언급하겠지만, 개발자로서 지양해야 한다고 말하셨다.)
에러가 나도 명확한 오류를 찾는데 많은 시간이 소요되었고,
심지어는 rm -rf
를 잘못 입력해서 모든 npm
파일 들이 날아가버린적도 있었다... 😢
때문에 이번 강의를 들으면서, 전에는 무지성으로 그저 입력하던 코드들이
"아 이게 이런 의미였구나~" 하면서 깨달은 것들이 많아서 굉장히 유익했다.
CLI로 git 사용해보기
CLI 명령어 모음
ls
:
현재 폴더에 있는 파일의 목록을 모두 보여줌
ls -a
: 숨김 파일까지 조회ls -l
: 상세 정보를 조회 (flag 추가)ls -al
: 숨김 파일까지 상세 정보를 조회
cd
:
지금 루트의 최상단 디렉토리로 이동
cd ‘폴더 이름’
: 해당 폴더로 이동cd ..
: 폴더 위로 이동
mv (move)
:
주로 파일을 이동할때 씀
mv ‘파일’ ‘이동경로’
: 파일을 이동경로로 옮김
ex)mv ../server.js ./
: 상위 폴더에 있는 파일을 현재 폴더로 옮김mv ‘파일1’ ‘파일2’
: 파일 1을 파일 2로 이름 변경
rm (remove)
하드디스크에 접근할 수 있는 방법 자체를 지움
- 폴더는
remove
불가능 (안에 있는 파일들의 경로가 없어져서)rm -rf
: 폴더 삭제 가능 (경로 상의 모든 파일을 지움)
rm -rf /
: 절대 금지 !
cp ‘파일’ ‘경로’ (copy)
: 파일의 사본을 경로에 만듬파일이름.*
: 와일드 카드 (특정 이름을 가진 모든 확장자의 파일을 이동시킴)
ex)mv ../ server.* ./
(server라는 이름을 가진 모든 확장자의 파일을 이동시킴)
mkdir ‘폴더 이름’
: 폴더 만들기echo ‘메시지’
: 메시지를 그대로 출력touch ‘파일 이름’
: 파일 생성delete
: 특정 주소값의 파일 자체를 없앰sudo
: 관리자 권한이 필요한 일 앞에 사용 (super user)vim ‘파일이름’
: 해당 파일을vim
이라는 프로그램(에디터)으로 열어라cat ‘파일이름’
:pwd
: (print working directory) 현재 디렉토리 보여줌clear
:shell
안의 내용들 전체 삭제
vim (=vi)
vim
에디터
insert 모드
:i
- 나갈땐
esc
command mode
::
- 저장하기
:w
- 나가기
:q
- 저장 하고 나가기
:wq
- 저장 안하고 나가기
:q!
Git 꿀팁들
아무래도 처음부터 다 세세하게 설명하는건 비효율적이기에,
중요하다고 생각되는 내용들 위주로 정리해보았다.
- 저장소 상태를 해제 하려면,
git
폴더를 삭제하면 됨git remote
다른 별명 추가 (협업 시 중요)
git remote add '다른 별명'
git commit
시에 창이 뜸 (vim
으로 열면 자동으로 오픈)
맨 위에 노란색이commit
제목
아래에 두번 엔터 치고 내용 (반드시 두번 쳐야 제목, 내용 구분됨)
만약에vi
에서 저장 안하고 나가면commit
안됨!- 작업 단위를 잘 나눠줘야 한다. (설령 두줄을 작성했더라도)
add
를 하나씩 따로 따로 하면 된다.git status
습관 들이기!git commit
할때‘-m’ (m플래그)
안하는게 좋음!
- 쓰다가 윗줄 수정 불가능!
- 덮어쓰기가 가능하기 때문에 위험
- 취소 하기 :
컨트롤 + C
git status
는 파일 단위로 추적되기 때문에, 디렉토리 만으로는 없는 것으로 취급 됨.
Git conventional commits
보다 명확하게 작업단위를 구분할 수 있도록 도와주는 규칙들 이라고 보면 되겠다.
- 예시:
이때fix
와refactoring
의 차이점은,
fix
는 안되던 것을 고침.
refactoring
은 되던 것을 개선함.
(동작은 잘되나 효율성이 떨어지는 것의 효율성을 올림.)
기타
기억에 남는 말들....
강사님이 유머러스 하셔서 재밌게 들었다 ㅎㅎ
코딩 할 때 제일 중요한 것 : 항상 흥미를 가지고 탐구하는 자세
공부방법
1. 공식 문서 잘 읽기
2. 남의 코드 많이 보기 (best properties 를 찾음)
backend
언어 추천 :node js
,mongo db
무조건 이 두가지라고 하셨다.- 개발할때 영어를 꼭 배워라.
번역이 반복되면서 본래의 뜻이 뭉개지는 경우가 생김 (ex. 일본어 -> 영어 -> 한국어)- 개발할 때 랜덤으로 찾아오는 fever time을 잘 활용 하자
git
학습 참고 사이트
https://ulgoon.github.io/2019/09/first-to-git/- 항상 외워서 하지 말고 코드를 보면서 그때 그때 대응해라
- 사실 컴퓨터는 모든걸 알고 있음...
- 개발자는 정글러 처럼 일해야 한다....
- 최적의 동선을 선택 해서 최고의 효율을 내야 함.
TIL
잘하는github
추천- soylent 파우더? 선식?
ctr + shift + r
: 이렇게 새로고침 해야함 (cache clear)SEO
필수 :troubleshooting
글이 조회수가 잘 나옴
Author And Source
이 문제에 관하여([패스트캠퍼스 FE MGS 3기] - 2일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ggyu777/패스트캠퍼스-FE-MGS-3기-2일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)