개발지식/Git

TIL-1 자주 사용하는 윈도우 명령어와 git

다오__ 2023. 5. 16. 00:56

윈도우 자주 사용하는 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)

 

충돌 해결하기

  1. 어떤 브랜치의 내용을 반영할 직접 선별한다.
  2. 커밋한다.