2018년 9월 27일 목요일

git

파일 관리 차원에서 알아야 할 개념

Tracked / Untracked  ( Tracked : git 이 추적하며 버전관리를 하고 있는것 )
Stage / Unstage  ( Stage : Commit 직전 머무르는 영역 )
Working directory / Stage(Index) / HEAD
( HEAD : Stage에 머무르던 파일들이 Commit 명령으로 local에 최종 기록)
——————————————————————————————-

폴더가 있다.  Working directory 이다. 아무것도 없다.

m0.txt,  m1.txt,  m2.txt  파일 세개를 만들었다. 이 파일들은
Untracked & Unstage 상태이다.

세 파일들을 add 시켰다.  세 파일들은 
Tracked &  Stage 상태이다.

세 파일들을 commit 시켰다. 세 파일들은
Tracked &  HEAD 상태이다. 

m0.txt 의 내용이 없었는데 “000″을 기입하고 저장했다. 이 파일은
Tracked &  Unstage 상태이다.

m0.txt 파일을 add 시켰다.  이 파일은
Tracked &  Stage 상태이다.

m0.txt 파일을 commit 시켰다.  이 파일은 
Tracked &  Head 상태이다. 
——————————————————————————————-

clone

git clone 저장소주소( git clone https://github.com/***.git )

status

git status (작업 경로 내의 파일 상태를 보여준다.)

add

git add 파일명.확장자 ( git add rm1.txt )
반대로 Unstage 하려면
git reset HEAD 파일명.확장자 (  git reset HEAD rm0.txt )

revert 

내용 변경을 취소하고 최신 커밋 버전으로 돌아가고 싶을 때
git checkout – 파일명.확장자 ( git checkout – rm0.txt )

remove

git rm 파일명.확장자
하게 되면 파일이 지워지고 tracked 상태고 해제되고 Stage 상태가 된다.
이를 취소하기 위해서는 
git reset HEAD 파일명.확장자 사용해 Unstatge 상태로 만들고
git checkout – 파일명.확장자 로 revert 해준다
삭제는 하나 파일을 local에 남겨두고 싶을때
git rm –cached 파일명.확장자
여러 개의 파일이나 디렉토리를 한꺼번에 삭제 
git rm log/\*.log ( log 폴더 안의 *.log 파일 모두 삭제)
git rm \*~  ( ~로 끝나는 것 모두 삭제)

commit

git commit -m “커밋 시 남길 로그 내용” 
git commit -m “커밋 시 남길 로그 내용” -a
-a 는 tracked 상태인 파일들을 자동으로 stage에 넘기고 커밋.

push

 git push origin master

remote

git remote -v( 리모트 저장소 확인 )
git remote add 단축이름 url ( 리모트 저장소 추가 )
git fetch 단축이름

기타

git mv 파일명 파일명 ( 이름변경 )
git remote -v( 리모트 저장소 확인 )
git remote add 단축이름 url ( 리모트 저장소 추가 )

















댓글 없음:

댓글 쓰기