-
Git 명령어 및 사용 법IT_n_Programs 2019. 2. 17. 21:57
################ Git 명령어 및 사용 법... #####################
### cf. 출처를 모르겠어요. 잘 정리되어 있어서 가져왔어요 ~~ #######
(1) git 로컬 저장소의 초기화
$ git init
(1-2) 원격 저장소에서 소스 가져오기
$ git clone <주소>
$ git clone http://(id):(passwd)@주소
$ git clone http://(id):(passwd)@주소 -b [branch 명] // 브렌치 소스를 clone 하는 명령어 옵션.(2) 수정한 파일을 index에 추가하기 (임시저장): 인덱스라는 것은 버퍼 같은 개념입니다. 임시저장소(?) 정도로 생각하면 됩니다.
git 을 사용할 경우 소스를 고치면 최초에는 아무 곳에도 반영이 안된 상태입니다. 이 상태에서 add를 하면 index에만 추가가 됩니다.
$ git add (파일명)
(3) 디렉토리 제거 / 파일 제거 : 디렉토리를 제거하기 위해서는 git 명령으로 제거하는 편이 편합니다.
$ git rm -r (디렉토리명)
$ git rm (파일명)(3-1) 커밋하기 (실제 git에 반영): 커밋을 하면 인덱스에 있던 파일들만 저장소에 반영이 됩니다.
$ git commit -m "해당 커밋에 대한 설명"(4) 디렉토리 상태 보기
$ git status(5) git 이력보기
$ git log
// ex) git log -2 -p ;; 최신 수정사항 2개와 자세한 수정내용...
// ex) git log -3 --name-only ;; 수정된 파일만 간략히 나옴...(6) 해당 커밋으로 돌어가기: 커밋번호는 git log 에 보면 나오는 번호이다.
$ git checkout (커밋번호)(7) 바로 전 커밋 되돌리기: 최종 커밋을 완전히 없애고 그보다 한단계 전 커밋으로 돌아갑니다.
$ git reset --hard HEAD^(7-2) !!! (권장하지 않음) git 되돌린 파일 원격에도 반영하기 : +만 붙이면 됩니다.
(12) 번 참조, 권장하지는 않지만 매우 필요한 기능입니다. OTL..
$ git push origin +master
$ git push origin +(브랜치명)(8) 무시할 파일들 지정하기: .gitignore 파일에 추가된 파일은 git에서 자동으로 무시된다.
예) .gitignore 에 .*.swp 를 추가: vim의 임시파일을 무시할수 있다.
예) .gitignore 에 *.html을 추가: html 파일은 무시할수 있다.(9) 수정한 내용 무시하기: 변경한 내용들이 모두 무시되고 마지막 커밋으로 돌아갑니다.
$ git reset --hard(10) branch 생성: 새로운 브랜치를 생성합니다. 브랜치는 나뭇가지라는 말처럼, 원래의 소스에서 가지쳐서
다른 방향으로 가는 것입니다. 기본 브랜치는 master 브랜치입니다.
# git branch [브렌치명] : 브렌치 명 이름으로 생성됨.
# git branch [브렌치명] [start point] : 브렌치 명 이름으로 해당 start point 로 브렌치 생성됨.
# git branch -a : 현재 모든 브렌치를 보여줌. * 붙은 branch 가 현재 activate 된 branch 임.
# git branch -D [브렌치명] : // 해당 브렌치를 삭제함.(11) branch 바꾸기: 기존에 있던 브랜치로 바꿉니다.
$ git checkout <기존의 브랜치명>
$ git checkout [start point] // 해당 start point 로 돌아감.
위 상태에서 git branch <브랜치명> // 해당이름으로 branch 됨.
(12) 원격저장소에 마스터 브랜치 반영하기: git pull 하면 언제나 마스터 브랜치의 내용만 원격 저장소에 반영됩니다. 주의!
$ git push(13) 특정 브랜치 반영: 특정 브랜치를 원격 저장소에 반영하기 위해서는 아래 명령을 입력합니다. 일반적으로
원격저장소 이름은 origin 입니다.
$git push <원격저장소명> <특정브랜치명>
$git push origin <특정브랜치명>(14) 수정사항 비교 ====>>> git diff
git diff #hash #hash // 특정커밋 비교
git diff HEAD HEAD^ // 마지막커밋 과 바로이전 커밋 비교.
git diff HEAD // 마지막 커밋과 현재 수정사항 비교.
(15) 기타 :
-- 작업 후 Git 이 지저분해진 상황에서 clean 하는 명령어.
git clean -d -f // 수정한 디렉토리 파일등을 모두 삭제.git clean -f [파일명] // 해당 파일을 삭제.
// error: Untracked working tree file '~' would be overwritten by merge. Aborting 발생
시 대처.반응형'IT_n_Programs' 카테고리의 다른 글
samba 계정 추가 및 변경 ~~ (0) 2019.02.17 Open source License (0) 2019.02.17 PC의 HDD/SDD가 포멧이 안될 경우. (0) 2019.02.06 안드로이드 앱 개발01 (0) 2019.02.05 linux : wc 명령어 (0) 2019.01.27 댓글