Git 개념
Git 이란?
: 소스코드를 효과적으로 관리하기 위해 개발된 분산형 버전 관리 시스템
Git을 사용하는 목적
1. version - 버전관리
2. backup
3. collaborates
Git CLI(CommandLine)의 장점
: 익숙해지면 복잡한 GUI없이 간편하게 사용할 수 있다.
명령어의 특성상 처리해야할 명령어를 한번에 명령해서 자동화할 수 있다.
GUI를 사용할 수 없는 서버 환경에서도 사용할 수 있다.
Working tree : 버전으로 만들어지기 전 단계
Staging Area : 버전으로 저장하기위한 파일
Repository : 버전이 저장되어 있는 곳 (.git)
명령어
- git init : 버전관리 시작하기 (최초 지역 저장소 생성시)
EX) git init . : 현재 디렉토리에서 버전관리 시작하기 (.git폴더 생성됨)
- git status : 깃의 상태 확인
- git add 파일명 : workingtree에 있는 것을 Staging Area에 올림
. : 현재파일 전부 추가
- git commit : 기본 에디터를 사용해서 Staging Area에 올린 파일을 Repository로 저장 (버전 생성)
-m "커밋내용" : 에디터에 들어가지 않고 바로 사용할 수 있음
-am : add와 커밋을 동시에 할 수 있음 (단, 최초 1회는 add해줘야함)
- git log : 버전 확인
--stat : 어떤 파일들이 commit되어있는지 목록을 확인할 수 있다
-p :
- git diff : 마지막 버전과 Working tree와의 차이점을 알 수 있다
- git reset
--hard 커밋ID : 해당 커밋ID버전으로 리셋함. (hard는 working tree를 포함하여 다 지움)
- git checkout 커밋ID : 해당 버전 시점으로 돌아가서 탐색함
master : 최신 상태로 돌아감
- git revert 커밋Id : 버전을 삭제하지 않으면서, 되돌리는 방법
* revert는 돌아가려는 시점 바로 위의 커밋Id를 사용해야함
revert는 커밋Id이전의 변화만 가져오는것이기 때문에 한번에 여러개를 건너가면 충돌이 발생함.
- git config --global user.name "이름" : 전역 사용자명 설정
user.email "이메일" : 전역 이메일 설정
--list : 전역 설정 정보 조회
- git remote add [origin] "Git주소" : 원격저장소와 연결
- git remote : 원격저장소 연결 확인
-v : 원격저장소 연결 확인 (주소까지)
- git push : 원격저장소로 보내기
- git push --set-upstream origin [master] : push 설정
- git clone "Git주소" [경로] : 원격저장소로 부터 복제하여 지역 저장소 생성
- git pull : 원격저장소로 부터 update
* Pull Fetch 차이점
- Fetch : 원격 저장소 -> 로컬 저장소로 가져옴. (현재 작업중인 소스들을 변경하는 Merge 작업을 하지 않는다)
- Pull : 원격 저장소 -> 로컬 저장소로 가져옴 (현재 작업중인 소스들의 Merge작업까지 통합하여 수행함)
--------------------------------------------------------------------------------------------------------------------------
*추가로 공부할 내용
.gitignore
branch
tag
merge : 2개의 branch를 하나의 branch로 병합