2016년 9월 23일 금요일
GIT 기본사용법 기본만알자.
git config —global user.name "이름"
git config —global user.email "깃허브 메일주소" // 매번 물어보는 귀찮음을 피하기 위해 설정.
mkdir ~/저장소명 // 로컬 디렉토리 만들고
cd ~/저장소명 // 디렉토리로 들어가서
git init // 깃 명령어를 사용할 수 있는 디렉토리로 만든다.
git status // 현재 상태를 훑어보고
git add 화일명.확장자 // 깃 주목 리스트에 화일을 추가하고 or
git add . // 이 명령은 현재 디렉토리의 모든 화일을 추가할 수 있다.
git commit -m “현재형으로 설명” // 커밋해서 스냅샷을 찍는다.
git remote add origin https://github.com/username/저장소명.git // 로컬과 원격 저장소를 연결한다.
git remote -v // 연결상태를 확인한다.
git push origin master // 깃허브로 푸시한다.
(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) 커밋하기 (실제 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 clean -f [파일명] // error: Untracked working tree file '~' would be overwritten by merge. Aborting 발생 시 대처.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기