banner_Vultr

DigitalOcean Referral Badge

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 발생 시 대처.




댓글 없음:

댓글 쓰기