Clone
- 저장소를 로컬 저장소로 복사하는 기능입니다.
GitLab 프로젝트마다 존재하는 저장소를 복사합니다.
Git에서는 두 개의 장소 개념이 있는데, Clone 으로 저장소를 복사하게 되면 원격 저장소
(remote)와 로컬 저장소 (local) 관계가 됩니다.
Remote repository
- 원격 저장소.
Local repository
- 로컬 저장소.
원격 저장소의 연결정보, 원격저장소의 브랜치 정보(Remote Tracking), 태그 정보,
로컬 저장소의 브랜치 정보 등 여러 가지 정보를 가지고 있습니다.
Checkout
- local branches 영역에 있는 브랜치를 working tree로 가져오는 명령어입니다.
remote tracking branches 영역에 있는 브랜치를 checkout 할 때도 사용하며,
local branches 영역을 거쳐서 최종적으로 working tree로 가져오게 됩니다.
eclipse > team > Switch to 명령어와 동일
Working tree
- 작업공간.
eclipse에서 보이는 부분이며 실제 변경 작업이 이루어지는 영역입니다.
변경사항은 add to index 명령어를 통해 staging area를 거쳐서 local branches에 있는
브랜치에 commit 되어야 함.
History
- 커밋 이력들을 확인합니다.
Staging area, Commit, Stash
- working tree에 있는 브랜치의 변경내용 중 로컬 브랜치에 저장(commit) 하기 위하여
구분해놓은 가상영역으로 index area라고 부르기도 합니다.
add to index 명령어를 통해 staging area에 저장되며 커밋을 통해 로컬 브랜치에
저장됩니다.
Squash
- Squash 기능으로 여러 개의 커밋을 하나의 커밋으로 만듭니다.
Revert, Reset
- 특정 커밋의 변경 내용을 원복 하거나 특정 커밋 이후의 변경 내용을 모두 제거할 수 있다.
Patch
- 변경내용을 파일 또는 Clipboard로 저장, 파일로 저장하여 작업 내용을 다른 사람에게
공유할 수 있다.
Commit
- 변경내용 자체를 지칭하는 용어.
Push
- local branches 영역에 있는 브랜치의 변경내용(commit)들을 원격 저장소의 브랜치에
저장한다. 원격 저장소의 브랜치에 push 하려면 'developer' 이상의 권한이 필요합니다.
delete push 원격저장소의 브랜치를 삭제할 때 사용하며 force push는 로컬 저장소의
브랜치로 원격 저장소의 브랜치를 덮어쓸 때 사용합니다.
protected 브랜치는 force push와 delete push를 할 수 없습니다.
원격 저장소 브랜치의 모든 커밋이 로컬 브랜치에 있는 상태에서만 push 할 수 있습니다.
Fetch
- 원격 저장소에 있는 브랜치의 최신 변경사항을 로컬 저장소의 remote tracking branches
영역에 있는 브랜치에 적용하는 git 명령어입니다.
Pull
- fetch와 merge를 한 번에 실행하는 명령어입니다. pull = fetch + merge
fetch 기능으로 원격 저장소 브랜치의 변경사항이 remote tracking branches 영역에
있는 브랜치에 저장되고 remote tracking branches 영역에 있는 브랜치의 변경사항을
local branches 영역에 있는 브랜치에 merge 됩니다.
Merge
- 두 개의 브랜치를 병합 기능입니다.
merge : 두 브랜치의 커밋들을 시간 순서대로 재 배열하여 병합
rebase : 하나의 브랜치를 베이스로 하여 병합
cherry-pick : 하나의 커밋을 브랜치에 적용
'SCM > Git' 카테고리의 다른 글
[Git] Commit Message Convention(커밋 메시지 컨벤션) (0) | 2021.12.21 |
---|