Git 이란
프로젝트의 변경을 관리하는 버전관리 소프트웨어
기본 용어
- 커맨트 라인(Command Line): 깃 명령어를 입력할 때 프롬프트로 알려진 텍스트 기반 명령어를 입력한다.
- 저장소(Repository): 프로젝트의 디렉토리나 저장 공간.
- Remote Repository
- Local Repository
- 버전관리(Version Control): 프로젝트 히스토리의 모든 시점의 “스냅샷”을 유지
- 커밋(Commit): 커밋하면, 그 시점의 당신의 저장소의 “스냅샷”을 찍어, 프로젝트를 이전의 어떠한 상태로든 재평가하거나 복원할 수 있는 체크포인트를 가진다
- 저장소(Repository): 프로젝트의 디렉토리나 저장 공간.
- publish: Local Repository 에서 Commit 한 스냅샷을 Remote Repository 에 반영한다
- 브랜치(Branch): 하나의 Repository 에 대한 여러 명이 하나의 프로젝트에서 깃 없이 작업하는 것이 얼마나 혼란스러울 것인가? 일반적으로, 작업자들은 메인 프로젝트의 브랜치를 따와서(branch off), 자신이 변경하고 싶은 자신만의 버전을 만든다. 작업을 끝낸 후, 프로젝트의 메인 디렉토리인 “master”에 브랜치를 다시 “Merge”한다.
- 커맨트 라인(Command Line): 깃 명령어를 입력할 때 프롬프트로 알려진 텍스트 기반 명령어를 입력한다.
기본 동작
주요 명령어
- git init:
- 깃 저장소를 초기화한다
- 이것을 입력한 후에야 추가적인 깃 명령어들을 줄 수 있다
- git config: 처음에 깃을 설정할 때 사용
#Git $ git config --global user.name "myid" $ git config --global user.email "myemail@mail.com"
- git status:
- 저장소 상태를 체크.
- 현재 저장소의 어떤 브랜치에서 작업하고 있는지 등을 볼 수 있다
- git branch:
- 프로젝트에 새로운 브랜치를 만든다
- dafault branch 기준으로 새브랜치를 생성한다 (기준 브랜치 선택이 가능하다)
- git add:
- 이 명령이 저장소에 새 파일들을 추가하진 않는다
- 대신, 깃의 저장소 스냅샷 에 포함된다
- git commit:
- 깃의 가장 중요한 명령어
- 저장소의 스냅샷 을 생성한다
- git commit -m “Message hear”
- git push:
- 로컬 컴퓨터에서 작업하고 당신의 커밋한 내용을 온라인에 적용시킨다.
- git push [remote name] [localbranch name]: local branch의 내용을 업데이트
- git push [server] tag [TAG]: server에 tag 전송
- git push [server] —tags: 변경된 모든 tag 전송
- git push [server] [L.B]:[R:B]: server 에 local branch 를 Remote branch이름으로저장
- git checkout:
- 체크하길 원하는 저장소로 옮겨가게 해주는 탐색 명령이다.
- master 브랜치를 들여다 보고 싶으면, git checkout master를 사용할 수 있다.
- git checkout [branch name]: 다른 브랜치로 전환
- git checkout -b [branch name]: branch 생성
- git checkout [file or folder]: git repo 기준 마지막 commit 상태로 돌림
- git checkout [id] [file or folder]: git repo 기준 id에 해당하는 commit 상태로 돌림
- git checkout -f: 아직 commit 되지 않은 working tree와 -index 수정정사항 모두 사라짐
- git merge:
- 브랜치 간 변경사항을 적용하고 싶을 때
- git merge cats 는 “cats” 브랜치에서 만든 모든 변경사항을 master로 추가한다
- git init:
GitHub Desktop
- Git 의 GUI 툴
- 다운로드 주소
- 계정 연동: GitHub Desktop > Preferences > Accounts
'개발' 카테고리의 다른 글
vi 사용하기 (0) | 2018.02.08 |
---|---|
React 의 특징 (0) | 2017.12.20 |
Docker 기초 - 1 (0) | 2017.06.10 |
go 언어 사용하기 (0) | 2016.12.02 |
swagger 사용하기 (0) | 2016.11.15 |