Git,GitHub

Git 명령어 정리 및 복습

로기221 2023. 1. 2. 17:16
728x90
반응형

에디터 : 
windows 상 : 메모장
linux 상 : vim

VIM : 
모드
ex 모드 : <- 처음 접속 했을때 실행 모드 : 저장, 종료
입력모드 : <- 텍스트 입력, 수정

documents/test 폴더 생성
cd test
vim test.txt

빔이란
• 터미널 화면에서 키보드만 이용해서 텍스트 문서를 만들 수 있다면 시간도 단축되고,
키보드와 마우스를 분주하게 오가지 않아도 됨
그래서 자주 사용하는 텍스트 편집기가 바로 빔(Vim)!
• 빔 편집기는 터미널 창에서 키보드에서 입력하는 것만으로도 작성할 수 있다는 점에서 윈도우에서 사용하던 일반 편집기와 다름

입력모드 : 젤 아래 [Insert] 표시
입력모드에서 ESC 키 누르면 실행모드
실행 모드에서 : wq 저장하고 나가기


명령어 


w : 저장
q : quit 빠져나가기
:wq 저장하고 빠져나가기
:q! : 강제로 나가기

실행모드에서  :set nu <- 라인에 행 번호를 표시

새디렉토리 생성 : mkdir
파일이나 디렉토리를 삭제 : rm -r
부모 디렉토리로 이동 :  cd ..
홈 디렉토리로 이동 : cd ~
현재 경로를 표시 : pwd
현재 디렉토리 안의 내용을 표시 : ls
현재 디렉토리 안의 파일과 폴더 상세정보까지 표시 : ls -l
현재 디렉토리 안의 숨김 파일과 숨김 폴더로 표시 : ls -a
빔 편집기를 사용해 파일을 작성하거나 수정 : vim
텍스트 파일의 내용을 터미널 창에 표시 : cat
화면을 깨끗하게 지운다 : clear
터미널 창 종료 : exit

pwd <- hello-git 경로에 있는지 확인

git init : 현재 디렉토리를 git으로 사용하겠다, 초기화

 

git status : 깃의 상태 보기

on branch main : 현재 main 브랜치에 있다.  저장소에 들어있는 디렉토리와 비슷한 것


no commits yet : 아직 커밋한 파일 없다.
nothing to commit : 현재 커밋할 파일이 없다.

 

git add hello.txt -> 작업 영역에 있는 파일을 스테이지에 등록
git status

git log : 버전이 제대로 만들어 졌는지 확인, 저장소에 저장된 버전을 확인할 때 커밋을 만든사람과 시간, 커밋 메세지

 

git commit : 깃에서 파일을 커밋하는 명령

git commit -m "message"  깃에서 파일을 커밋하는 명령에 한칸 띄운후 -m 옵션을 붙이고 커밋과 함께 저장할 메세지를 적음 , 이 메세지를 커밋 메세지라고 

 

작업 영역 -> 스테이지 -> 저장소
git commit -am "message2" : 이전 파일이 저장이 되어있으면 -am옵션을 붙여서 스테이징과 커밋을 한꺼번에 처리


변경사항 - git diff

 

git restore --staged <- 모든 스테이지의 파일을 되돌리기
git restore --staged hello2.txt <- 스테이지 안에 hello2.txt만 되돌리기

git restore : 변경된 파일을 복원
git restore --staged : 스테이지의 파일을 작업 영역으로 복원
git reset HEAD^ : 커밋된 파일을 스테이지와 작업영역으로 복원

git reset 명령
git reset --soft HEAD^  : 커밋을 취소하고 파일을 staged 상태로 작업 디렉토리에 보관
git reset --mixed HEAD^  : 커밋을 취소하고 파일을 unstaged 상태로 작업 디렉토리에 보관
git reset HEAD^ --mixed  : 옵션을 사용할 때와 같이 커밋을 취소하고 unstaged 상태로 작업 디렉토리에 보관ㅌ

특정 커밋으로 되돌리기 : 특정 시점으로 되돌아 가기
git reset 해시
git reset --hard 복사한 커밋 해시(R2)

--hard : 특정 시점으로 되돌아가나 시점 이후에 있는 파일들은 삭제
--soft : 특정 시점으로 되돌아가나 시점 이후에 있는 파일이 남아 있음.


git revert 해쉬 -> 커밋 변경 이력 취소하기 - 커밋을 취소를 하나 변경된 내용을 남겨 주는 것


git reset 해쉬(R2)값 - R2 상태로 되돌아 가고 R5가 사라진다.

git revert 해쉬(R5)값 - 커밋이 취소가 되어서 R5상태에서 R2 상태로 변경되고 R5가 사라지지 않는다.

                                    커밋이 취소가 되고 R2 상태로 되돌아 가고 R5에 대한 이력은 남겨 두는 것

 


.git : 저장소
작업트리 -> 저장소 : 작업트리에서 한번에 저장소에 저장할 수 없다.
작업트리 -> 스테이지 -> 저장소 : 작업트리에서 스테이지로 이동 스테이지에서 다시 저장소로 저장

git add hello.txt : hello.txt 파일을 스테이지로 이동

git commit -m "message1" : message1 이라는 메세지 내용으로 스테이지에서 저장소로 저장


git status -> git 상태정보

git log -> git 로그 보기

 

.gitignore  :  파일로 버전 관리에서 제외하기 

파일명, 디렉토리명, 확장자명
vi .gitignore
hello3.txt
temp/
.swp

 

.gitignore 적용 안될시
git rm -r --cached .        <- git 캐시 문제가 있어 캐시 파일 삭제
git add .                          <- . 현재 디렉토리에 있는걸 스테이지에 올리기
gitcommit -m "apply .gitignore"     <- 커밋

 

unmodified, modified, stage 상태



changes not staged for commit :      modified 파일이 수정만 된 상태 스테이지에 올라와져 있지 않다.

git add hello2.txt
git status

changes to be committed : 커밋 직전 단계, 즉 staged 상태

git commit -m "delete b, c, d"
git status

nothing to commit, working tree clean : unmodified 상태

git restore : 작업 트리에서 수정한 파일을 되돌리기   
git restore --staged : 모든 스테이지 파일을 작업트리에 되돌리기
git restore --staged 파일명 : 파일명에 해당하는 파일만 작업트리 되돌리기

git restore --staged hello2.txt
 
저장소에 있는 파일은 한번에 스테이지와 저장소에 수정 사항 적용
vim hello2.txt
a 뒤에 bcd 추가
git commit -am "message4"


vim hello2.txt
젤 뒤에 E 추가

git commit -am "message5"

마지막 커밋으로 되돌리기
git reset HEAD^

git log : message4 <- 최신 커밋
원래파일 : 작업트리에 그대로 남아

특정 커밋으로 되돌리기 : git reset 해시값


reset : 로컬 저장소
git reset R2 해시 값 : R2 지점으로 변경 : R3, R4는 삭제

--hard : 옵션 사용시 수정한 파일도 해시 지점의 파일로 변경
--soft : 지점이 바뀌어도 수정한 파일은 변경되지 않는다.

revert : 허브 저장소 : 커밋 되돌리기 해쉬값 (자기자신)

 

 

 

 

 

728x90
반응형