설치 (캡쳐 이미지 참고 - 정리 필요)
01- default
02-
03-
04-운영체제마다 다른 행변환 자동으로 변환
정보
git의 저장소는 3가지 단계로 나누어 집니다.
커밋한 소스가 보관되는 저장소와 현재 프로젝트 파일들이 있는 작업트리,
저장소와 작업트리사이의 버퍼영역으로 커밋될 대상이 저장되는 스테이징 영역입니다
Git 명령어
$ git config --global --list : 현재 설정정보 조회할 수 있습니다.
$ git config --global user.name "사용자명" : 사용자명을 등록합니다 (필수)
$ git config --global user.email "이메일주소" : 이메일 주소를 등록합니다. (필수)
$ git remote add "이름" "저장소주소" : 새로운 원격 저장소를 추가합니다.
$ git remote : 추가한 원격저장소의 목록을 확인할 수 있습니다.
$ git remote show "이름" : 해당 원격저장소의 정보를 볼 수 있습니다.
$ git remote rm "이름" : 원격저장소를 제거합니다.
$ git --version : 현재 git의 버전을 확인합니다.
$ git status : 커밋되지 않은 변경사항을 조회합니다.
$ git init : 현재 디렉토리에 git 저장소를 생성합니다.
$ git add 파일명 : git add는 2가지를 하는데 untracked files의 파일들을 git가 추적하도록 하거나 파일은 수정했지만 아직 스테이징 영역에 올라가지 않은(Changed but not updated) 파일들을 스테이징 영역에 올립니다.
-A 옵션 : stages All
. 옵션 : stages new and modified, without deleted
-u 옵션 : stages modified and deleted, without new
-i 옵션 :
-p 옵션 :
$ git commit -m "커밋메시지" : 스테이징 영역에 올라가 있는 파일들을 커밋합니다.
(특정파일만 커밋하려면 마지막에 파일명을 추가해주면 됩니다.)
-a 옵션 : 스테이징에 올리는 작업과 커밋을 동시에 할 수 있습니다
-v옵션 : 편집기에 커밋하려는 변경사항의 다른점을 보여줍니다.
$ git diff : 스테이징영역과 현재 작업트리의 차이점을 보여줍니다.
(git diff HEAD를 입력하면 저장소, 스테이징영역, 작업트리의 차이점을 모두 볼 수 있다.)
--cached 옵션 : 스테이징영역과 저장소의 차이점을 볼 수 있다
$ git checkout -- 파일명 : 아직 스테이징이나 커밋을 하지 않은 파일의 변경내용을 취소하고 이전 커밋상태로 돌립니다. (svn에서 revert와 동일합니다.)
$ git revert 커밋명 : 기존의 커밋에서 변경한 내용을 취소해서 새로운 커밋을 만듭니다.
(항상 최신의 커밋부터 revert해야 합니다.)
-n옵션 : 바로 커밋하지 않기 때문에 revert를 여러번한 다음에 커밋할 수 있습니다.
$ git clone "저장소주소" "폴더명" : 원격저장소를 복제하여 저장소를 생성합니다. 폴더명을 생략가능합니다.
$ git fetch : 원격저장소의 변경사항 가져와서 원격브랜치를 갱신합니다.
$ git pull : git fetch에서 하는 원격저장소의 변경사항을 가져와서 지역브랙치에 합치는 작업을 한꺼번에 합니다. 파라미터로 풀링할 원격저장소와 반영할 지역브랜치를 줄 수 있습니다.
$ git push : 파라미터를 주지 않으면 origin 저장소에 푸싱하며 현재 지역브랜치와 같은 이름의 브랜치에 푸싱합니다. 로컬에서 tag를 달았을 경우에 기본적으로 푸싱하지 않기 때문에 git push origin 태그명이나 모든 태그를 올리기 위해서 git push origin --tags를 사용해야 합니다.
--dry-run 옵션 : 푸싱된 변경사항을 확인할 수 있습니다
사용법
깃허브 웹사이트를 방문하여 회원가입 (https://github.com)
저장소 생성 - 일단 저장소를 만들어야 이 GitHub를 통해 소스 공유가 가능
저장소 연결 - github에 만든 저장소를 연결
($ git remote add origin https://github.com/mk-sun/SunInvestment.git)
원격저장소 push : commit해 놓은것을 원격저장소에 push 한다. ($ git push -u origin master)
제외 파일 설정
.gitignore 파일 생성후 commit,push
test sample
$ echo "# gitest01" >> README.md : README.md 라는 파일을 # gitest01 이라는 내용으로 만듦
$ git init : 현재 너가 지정해준 경로에 git 저장소를 생성
$ git add README.md : README.md 라는 파일을 커밋 영역에 넣어둘 준비상태에 둘꺼야. 작업공간과 저장소 사이의 대기실(index 또는 stage 영역)에 넣어둠
$ git commit -m "first commit" : 지금 대기실(index or stage area)에 있는 녀석들을 커밋장소에 들어가게되는데 지금 first commit 라는 딱지를 달고 커밋장소에 입장하게 됨.
$ git remote add origin https://github.com/gitest01/gitest01.git : 이 저장소의 별칭을 origin으로 할께. 이걸 Clone(복제)하게 되면 origin 이라는 별칭을 볼 수 있을 꺼야.
$ git push -u origin master : 좋아 커밋상태에 있는 내용들을 원격저장소로 밀어보내줄께!. 다음부턴 그냥 git push 명령어만 입력해도 원격저장소로 이어질수 있게 옵션도 좀 달아줬어!