UNIT 7 : Linux / Git 기초
on mac os
Graphical User Interface : 그래픽 표현으로 컴퓨터 언어를 몰라도 조작 가능
Character User Interface : 직접 문자를 입력하는 인터페이스
pwd : print working directory, 현재 위치 확인
mkdir : make directories, 폴더 생성
ls : list, 특정 폴더에 포함된 파일, 폴더 확인
open . : 현재 위치를 GUI로 실행
cd : change directory, 폴더에 진입
touch : 파일 생성
cat : 파일 내용을 터미널에 출력
rm : Remove, 폴더나 파일을 휴지통 거치지 않고 삭제
mv : move, 폴더나 파일의 이름, 위치 변경
cp : copy, 폴더나 파일 복사 (cp+원본+복사 대상)
Absolute path : /Users/username/folder1/folder1_1/
Relative path : 현재 위치를 기준으로 표현.
현재 폴더: '.', 상위 폴더: '..', 폴더 내부: '/'
'./': "현재 폴더 아래의"
whoami : 현재 로그인 사용자 확인
sudo : 관리자 권한 획득
터미널에서 자유자재로 다룰 수 있는, 가장 사용하기 쉬운 Editor
nano filename : open file in nano
brew update : brew 자체 업데이트
brew outdated : 업데이트 필요 목록 조회
brew upgrade @@ : 업그레이드
brew search @@ : 검색
brew info @@ : 정보 확인
brew install @@ : 설치
brew uninstall @@ : 삭제
brew list : 설치 프로그램 확인
URL 통한 파일 다운로드 프로그램
brew install wget
Node Version Manager
nvm 설치
Node.js 설치
commands
Node Package Manager
npm init : make new package.json
npm init -y : 정보가 생략된 package.json 생성
npm install : package.json 내 필요 모듈 다운로드
npm run scriptname : 스트립트 실행
작업할 때: Local Repository
코드 공유: Remote Repository Upload
Commit : 특정 시점에 생성된 백업 복사본인 스냅샷을 만드는 작업
Fork : 프로젝트 원격 저장소의 소스 코드를 내 원격 저장소로 이동
Clone : 코드를 수정하기 위해 내 컴퓨터로 이동
Push : Remote Repository에 업로드
Pull: Remote Repository 변경 사항을 Local Repositor로 이동
Pull request: 내가 push한 코드 변경사항에 대해 반영 여부를 요청
Contribute : 오픈 소스 소프트웨어에 기능을 추가하고 개선하는 작업
type git on terminal to download Software
앞으로 진행할 Git 커밋 내역에 기록될 사용자 이름, 메일 주소 설정
git config --global user.name "yourusername"
git config --global user.email "yourmailadd"
(vi에 익숙하지 않다면) change editor
git config --global core.editor nano
Additional Authentication : SSH
4-1. Create SSH Key
ssh-keygen
4-2. Paste Public key
cat ~/.ssh/id_rsa.pub
4-3. Registering Public key
GITHUB profile > settings > SSH and GPG keys > New SSH Key
Version Control System
각 버전 별 변경 이력을 코멘트와 함께 저장, 이전 버전으로 복구 가능
Github, GitLab, Bitbucket 등 여러 원격 저장소 이용해 백업, 협업
Git: 소스 코드 기록을 관리하고 추적할 수 있는 버전 관리 시스템
Github: Git Repository를 관리할 수 있는 클라우드 기반 서비스,
개발자들의 SNS