깃 설명/명령어
수료하기 전 학원에서 배웠던 내용들을 복습하다가 블로그에 남기면 좋을 거 같아서 남기는 글입니다.
git : 형상관리도구 -> SW에서 버전을 관리하는 용도로 사용(이력)
프로그램(파일)의 사본에 대한 생성, 보존, 복원을 한번에 관리해주는 프로그램
모델
중앙집중모델 :
분산모델 : git!
git운영 코드는 관리하는 저장소 - 원격지의 개발자와 협업할때
- LocalRepository : 내 컴퓨터에서 관리하는 저장소 -> 개발자의 컴퓨터에서 저장관리
- RemoteRepository : 원격지 컴퓨터(서버)에서 관리하는 저장소 -> github으로 제공되는 저장소
git에 의해 관리되는 것 : 지정된 파일 -> .java, .jsp, .js 파일들...
git에 의해 관리되는 파일의 상태
1. commited : 파일내용이 수정되고 이력에 기록이 된 상태 -> 로컬저장소에 이력을 저장
2. modified : 파일내용이 수정되고 있는 상태, commit되기 전
3. staged : 파일내용이 수정완료, commit되기 전상태, commit의 대상이 된 상태
파일을 두가지로 구분
1. tracked : git에 의해 관리되는 파일을 말함. -> 파일에 index를 부여한 상태
2. untracked : git에 의해 관리되지 않는 파일을 말함.
git에서 사용하는 주요 명령어, 용어
1. commit : 파일의 수정내역을 기록(저장)하는 명령어, staged된 파일을 commited상태로 만드는 명령어
commit기록으로 파일에 대한 history를 관리한다.
2. add index : 파일을 tracked상태로 만들어주는 명령어, 파일에 대해 add index를 해야 git에 의해 관리됨.
3. branch : 작업공간 -> 파일을 수정할 수 있는 곳, 다수 branch를 생성할 수 있고, 각 branch 독립적으로 관리됨.
* 기본적으로 LocalRepository를 생성하면, branch하나가 생성됨.
4. merge(병합) : 브랜치 내용을 합치는 것(추가,병합), local, remote 다 됨.
local브랜치 -> remote브랜치, remote브랜치 -> local브랜치, local브랜치 -> local브랜치,
remote브랜치 -> remote브랜치
5. push : LocalRepository 브랜치의 내용을 RemoteRepository브랜치에 보내는 명령. 동일코드에 대한 merge실행
6. pull : RemoteRepository브랜치의 내용을 LocalRepository브랜치로 가져오는 명령. merge실행.
7. fetch : RemoteRepository의 정보를 LocalRepository브랜치로 가져오는 명령, merge를 하지 않음.
8. .gitignore파일 : git에 의해 관리되지 않을 파일을 등록하는 파일 / 개발자가 만들어서 사용
경로+파일명, 경로/
9. conflict : 브랜치를 병합했을때 동일한 파일에 동일한 라인에 다른 내용이 있을때 충돌발생.
git을 이용하는 방법
1. gitbash설치해서 이용하기 -> 명령어를 작성해서 이용하는방법(CLI)
2. e-git프로그램 이용하기 -> eclipse git 이클립스에서 제공하는 프로그램 **
3. source tree, git desktop ....