yes
CLI : Command Line Interface
GUI : Graphic User Interface
CLI 환경에서 파일을 지워도 GUI환경에서도 지워진다! (휴지통에서는 볼 수 없다🙁)
CLI를 이용한 작업과 GUI를 이용한 작업이 동일하기 때문이다.
pwd
: 현재 위치를 확인하는 명령어
mkdir
: 새로운 폴더를 생성하는 명령어
ls
: 폴더나 파일의 목록을 출력하는 명령어
open
(macOS): 현재 폴더를 파일 탐색기로 여는 명령어
cd
: 폴더에 진입하는 명령어
touch
: 새로운 파일을 생성하는 명령어
cat
: 파일의 내용을 터미널에 출력하는 명령어
rm
: 폴더나 파일을 삭제하는 명령어
mv
: 폴더나 파일의 위치를 이동하거나, 이름을 변경하는 명령어
cp
: 폴더나 파일을 복사하는 명령어
sudo
: 관리자 권한을 이해할 수 있다. (super user do)
/
: 루트 디렉토리 ("highest" directory,cd ..
해도 더 올라갈 디렉토리가 없다!)
~
: 홈 디렉토리 (사용자의 모든 정보가 담긴 최상단 폴더,cd ..
/cd ..
하면 루트 디렉토리로 간다.)
- 절대 경로: 폴더의 깊이가 깊어지면 나깟다 들어갔다 복잡해지기 때문에 절대경로를 많이 사용하게 된다!
- 상대 경로: 폴더의 개수가 많지 않고 깊이가 깊지 않을 때 많이 사용한다.(약간 GUI 같다...)
- 패키지 : 프로그램 압축 파일 같은 것.(프로그램 파일, 설치 파일, 설치 설명서, 정보 등을 담은 파일)
- 패키지 매니저 : 우리가 다운로드한 패키지들의 수정, 삭제, 업데이트 등을 관리해주는 프로그램이다. (패키지가 많아지면 하나하나 업데이트하기 어려우니까 사용된다.)
brew update
: 패키지의 업데이트 여부 확인
brew outdated
: 업데이트 필요한 파일 조회
brew upgrade
: 프로그램 업그레이드
brew info
: 프로그램의 정보 확인
brew install
: 프로그램 설치
brew list
: 설치된 프로그램 목록 보기
brew uninstall
: 프로그램 삭제
- nvm : 노드 버전 매니저(종종 이전 버전을 사용하기 위해서 사용됨)
- npm : node package manager로, node.js에서 사용되는 모듈들을 패키지로 만들어 관리해준다.
- node.js : 옛날에는 웹사이트에서만 기능할 수 있었는데, 노드가 생겨나면서 다른 환경에서도 작성이 가능하면서 확장성이 좋아졌다!
- dependencies : devDependencies와는 다르게, 이 프로그램이 돌아가기 위해 반드시 필요한 모듈들을 담고 있다.
- devDependencies : 이 프로젝트를 개발하기 위한 환경에서 필요한 모듈이 무엇인지 적혀있다. (프로그램 실행과는 관계가 없이 개발자들을 위한, 개발을 위해서만 필요한!)
- scripts : CLI에서 사용 가능한 명령어가 적혀있다.(
"start": "node index.js"
npm start
를 입력하면 실행된다. (약간alias
같은 느낌이다))
node 파일이름.js
파일이 실행된다!
yes
ctr + z로 되돌리기는 번거롭고, 실수로 파일을 삭제할 경우?! 이전에 작성된 내용으로 돌아가기 어렵다. 그래서 버전 관리 시스템이 필요하다.
파일들을 담은 저장소
- local repository: 내 컴퓨터 안에서 나만 볼 수 있는 저장소
- remote repository: Github로 모두가 볼 수 있는 저장소
Fork
: fork를 통해 나의 원격 repository로 가져온다.
clone
: clone을 통해 원격 repository에서 local repository로 가져온다.
status
: 현재 상태를 알려준다.
restore
: 깃을 처음 받아온 상태로 되돌린다.
add
: repository에 올리기 위한 준비! add로 먼저 파일을 staged에 올린다.
commit
: 파일에 대한 메세지를 적어 local저장소에 올린다.(변경사항같은 내용을 짧게!)
reset
: add, commit 된 파일을 되돌린다.(git reset HEAD^
)
log
:commit
한 로그 기록들을 보여준다.
pull
: 협업하는 사람의 파일을 당겨오기도 하고(git pull 이름 main
), 나의 변경사항을 프로젝트에 적용해달라고 요청한다(pull request
).
push
: 원격 repository로 올린다!
init
: clone으로 프로젝트를 가져오지않고, 나만의 프로젝트를 만들었다면 init으로 git을 초기화해준다. 현재 파일을 git 관리하에 두기 위한 명령어이다.
remote add
:git remote add origin git주소
내 꺼랑 연결,git remote add 상대이름 git주소
다른 사람과 공유
remote -v
:remote add
상태를 확인할 수 있다.
unmodified files -> modified files -(add)-> staged -(commit)-> local repository -(push)-> remote repository
git remote add origin git주소
내 깃 주소 등록!
git remote add 상대이름 git주소
페어 상대의 Remote Repository를 내 local repository에 등록
git remote -v
확인
git pull 상대이름 main
페어의 작업 가져와서 합치기
git push origin main
내 local repository에 수정사항 반영하기
자동적으로 merge가 되어서 아직까지 충돌이 나진 않았지만 차차 경험해 볼 것...!
reset HEAD <file>
checkout -- <file>
git add
git commit -m"~"
git push
정도만 써보아서 상대와 협업할 때 명령어는 조금 익숙하지가 않았다. 앞으로 지휴와 이것저것 해보면서 remote add
같은 명령어들을 쓰고 익숙해져봐야 겠다. (다 아는 줄 알았는데 아니었어~~~😫)