TIL-1 자주 사용하는 윈도우 명령어와 git
윈도우 자주 사용하는 CLI 명령어
cd . = 현재 디렉토리
cd .. = 상위 디렉토리
cd ~ = 홈 디렉토리
rm abc.txt = 파일 삭제
mkdir = 폴더 만들기
rmdir = 비어있는 폴더 삭제
rm -rf = (비어있지 않은) 폴더 삭제
-rf는 = 강제로라는 의미
touch abc.txt : 빈 파일 생성
cat abc.txt : 파일 내용 확인하기
VI 편집기란?
명령어 창에서 파일안의 내용을 조작할 수 있다.
vi abc.txt : 해당 파일을 편집하기 위해 들어가기 (없으면 파일 생성한다.)
- 입력모드로 전환 = i
- 입력모드에서 나오기 = esc
- 변경내용 저장 = :w
- 나가기 = :q
그외의 명령어들
i: 현재 커서 위치에서 텍스트를 삽입하기 위해 "입력 모드"로 진입
Esc: 입력 모드나 명령 모드에서 빠져나와 "일반 모드"로 돌아감
:w: 파일을 저장
:q: 편집기를 종료
:wq: 파일을 저장하고 편집기를 종료
dd: 현재 줄을 삭제
yy: 현재 줄을 복사
p: 복사한 내용을 커서 아래에 붙여넣기
u: 이전에 수행한 변경 작업을 되돌리기
/검색어: 파일에서 검색어를 찾기
n: 다음으로 검색된 항목으로 이동
:s/원본/대체: 현재 줄에서 원본을 찾아 대체
:set nu: 줄 번호를 표시
:set nonu: 줄 번호를 숨김
깃이란?
변경내역(버전)들을 기억하며
필요하다면 작업을 되돌리며
여러 명의 코드를 쉽게 나누고 합치며
협업하는 것 (개발자들의 SNS와 같다.)
깃이 없다면,,
변경 내역 확인의 어려움
작업 되돌리기의 어려움
협력하기 어려움
- 작업 디릭터리 : 버전 관리의 대상이 위치하는 공간 (.git이 있는 디렉터리)
- 스테이지 : 다음 버전이 될 후보가 올라가는 공간
- 저장소 : 로컬 저장소와 원격 저장소가 있다.
commit : 버전, 유의미한 변경사항이 나온 것
git status
Untracked files : 한번도 버전관리에 들어가지 않았던 파일
tracked files : 한번이라도 버전관리한 파일
git add a.txt b.txt c.txt
버전으로 만들고싶은 변경사항이 있는 파일을 add 하여 스테이지 영역으로 이동시킨다.
git add .
git rm --cached a.txt : 스테이지에서 다시 로컬 저장소로 내리기
커밋까지의 명령어 정리
커밋 '메시지' 화면 첫번째 줄은 제목 세번째줄부터 내용을 적으면 된다.
git log --oneline : 축약된 해시와 함께 간단하게 기록 확인 가능
Git log -p : 커밋별 변경사항 확인 가능
Git diff : 내가 최근에 만든 커밋과 현재 작업 디렉토리를 비교해준다.
Git diff --staged : 최근에 만든 커밋과 스테이지영역을 비교해준다.
Git diff <커밋해시> <커밋해시>: 순서를 정확하게 해 커밋끼리 비교한다.
깃 브랜치
checkout : HEAD의 위치를 특정 브랜치의 최신 커밋위치로 옮기는 것
merge :
새로운 커밋을 만들며 병합하는 것이 있고
다른 브랜치를 받아들이기만 할 뿐인 병합 : 빨리감기(fast-forward-merge)
충돌 해결하기
- 어떤 브랜치의 내용을 반영할 지 직접 선별한다.
- 재 커밋한다.