0. Git
1) Git
- 버전 컨트롤 시스템중 하나
- 소스 코드 버전 관리 / 버전 컨트롤 시스템
- 협업 중심
1. Git & Git Hub 차이
1) Git
- 깃 허브 : 깃을 인터넷에서 관리할 수 있는 시스템
- 기준 저장소 필요 : 레포지토리 저장소
- 기준이 되는 저장소가 인터넷에서 접근하기 때문에 편리
- 없으면??? 서버를 하나 만들어서 관리한다.. 하지만 불편
2) Git Hub
- 깃허브 : 중앙 서버
- 깃 : 자신의 로컬환경에서 사용하는 것을 의미한다.
- 깃과 깃허브는 분리되는 환경이다.
- 깃(로컬) / 깃허브(중앙서버)
2.깃 허브의 기준 코드를 로컬에 다운받기
- clone이라는 명령어를 사용해야한다.
- clone 복제를 의미한다.
- remote(원격)환경의 소스를 복제한다는 의미한다
3. 작업 소스를 깃 허브에 올리기
- push
- 로컬의 수정 소스를 중앙 서버에 밀어 넣는다.
4. 다른 개발자가 올린 소스를 다운 받기
- pull
- pull & clone 차이
1) clone : 처음 소스를 다운 받을 때
2) pull : 이미 소스가 존재할 경우 그 수정된 소스를 다운받을 때
5.깃 기초
- 깃으로 버전 관리할 때 존재하는 3가지 상태 : commit, modified, staged
- modified -> staged -> commit
1) modified :
- 수정이 됬을 때 파일의 수정을 감지한 상태
- 아직 commit 되지 않은 상태
2) staged
- 중간 save
- modified 파일에서 곧 commit 될 거라고 mark한 상태
- modified와 commit의 중간상태 / 임시저장기능
- 이유 : 중간 상태 저장을 통해 호시라도 추가/수정 사항이 있거나, 다시 되돌려 놓을기 위함.
- 커밋은 해당 개발이 완전 완료 됬을 때 하는 것!!!
- 아직 완료 되지 않았지만 혹시 중간 상태를 저장할 필요가 있을때 staging!!!
3) commit
- 깃의 상태 정보중 맨 마지막에 해당 부분
- commit을 했다는 것은 push를 할 준비가 되었다.
6. 깃 버전관리 플로우
1) git repository checkout : 소스코드를 다운 받는다.
2) 소스코드 파일 수정 : 개발 시작
3) stage : 수정 파일을 중간 상태 저장
4) 계속 파일들 수정 작업!!!
5) commit : 작업 완료
7. 깃 기본 명령어
- git init : 프로젝트를 git repository를 만들기 위한 명령어
프로젝트 : 소스코드들이 있는 디렉토리
git init으로 레포지토리를 만들어야 git으로 버전관리 시작 가능
- git add
수정 사항들 staged 상태로 옮기고자 할 때 사용하는 명령어
git repo에 새로이 추가된 파일들ㅇ르 staged 상태로 옮기 때 사용하는
새로 추가된 파일들은 untracked 파일이라고 함
- git commit
staged 된 파일들을 commit 하고자 할 때 사용하는 명령어를
- git diff
수정 사항들이 적용됬는지 확인할 때 사용함
staged 된 파일들은 확인 할 수 없음
modified 파일만 확인 가능
- git status
현재 상태를 보여주는 명령어를- 어떤 파일이 수정되었고, staged 되었는지 전체 상황을 보여준다.
- git log
commit 내역들을 보여준다.
commit history
커밋 내용을 전부 볼 수 있다.
tig 같은 툴로 사용하는 것이 편리
commit -m "내용" : 커밋에 대한 내용 입력 가능
- git rm
원하는 파일을 git repo에서 파일을 삭제
- git mv
git repo에서 파일을 이동 시킬때 사용... 주로 rename 할 때 사용
- git branch
branch를 생성할 때 사용
- git checkout
어떤 branch를 checkout 할 때 사용 되는 명령어
git checkout 브랜치 : 브랜치 이동 ->checkout 브랜치간의 이동을 의미한다
- git remote -v
- git remote remove origin