티스토리 뷰
Repository(저장소)
- 파일이나 디렉토리를 저장하는 장소이다.
- local repository : 개인 PC에 존재하는 저장소이다. 다음 3가지로 이루어져 있다.
- working directory : 실제소스코드
- Index : stage 역할 (stage : working dir에서 commit하기 전에 commit하려는 파일 올려두는 곳)
- head : commit 을 한 소스코드
- remote repository : 원격 저장소이다. 파일이 원격 저장소 전용 서버에서 관리하고 공유가 가능하다.
Clone
- remote repository의 내용을 통째로 다운로드한다.
- 명령어
- git clone
Commit
- 파일 및 폴더의 추가/변경 사항들을 저장할 때(기록할 때) 사용한다.
- local repo에는 변경이 반영되었지만 remote에는 아직 반영되지 않았다.
- 명령어
- git add <file>
- git commit : 변경 내용이 head에 반영이 된다.
Push
- commit한 내용 (head의 변경내용)을 remote repo(원격 저장소)에 올린다.
- 즉 local에서 변경한 내용을 원격 저장소로 업로드한다.
- 명령어
- git push <branch name>
Pull
- remote repo(원격 저장소)의 내용을 local repo(로컬 저장소)에 반영한다.
- fetch + merge의 기능이다.
- 명령어
- git pull
Branch
- 독립된 working directory이다.
- 새로운 기능을 개발할 때 branch를 따로 만들어서 개발한다.
- 예를 들면 master branch, feature branch, release branch 등등
- master branch : 기본적으로 master branch가 생성된다. 대부분 최종적인 배포물을 놓는다.
- feature branch : 새로운 독립적인 기능을 개발할 때 생성해서 작업한다.
- release branch : 수정이나 업데이트를 할 때 생성해서 작업한다.
- 명령어
- git branch <branch name>
Merge
- branch의 변경사항을 다른 branch (예를 들어 feature와 develop)의 반영할 때 사용한다.
- 현재 branch를 기준으로 병합된다.
- 만약 두 branch가 같은 파일의 같은 곳을 수정하면 Conflict(충돌)이 발생한다.
- Fast-Forward :
- 명령어
- git merge <합칠 branch name>
Fetch
- remote repo의 최신 이력을 확인 및 업데이트 할 수 있다.
- remote repo의 내용만 확인하고 local repo와 병합하고 싶지 않은 경우 사용한다.
- 명령어
- git fetch
Rebase
- 두 branch를 합칠 때 사용한다. merge랑 비슷하지만 다르다.
- rebase는 branch의 변경사항을 순서대로(commit 순서대로) 다른 branch에 적용하면서 합치고
- merge는 두 branch의 최종결과만 합친다.
- merge보다 깨끗한 히스토리를 만든다.
- 명령어
- git rebase <합칠 branch name>
Pull Request
- branch에서 완료된 작업을 프로젝트를 같이하는 사람들끼리 리뷰하고 master로 합치도록 요청하기 위해 사용된다.
- 예를 들어 develop branch를 master에 merge할 때, merge하기 전 pull request가 생성되고 다른 사람들이 확인한다.
Checkout
- branch를 변경한다.
- 명령어
- git checkout <branch name>
Stash
- 아직 마무리하지 않은 작업을 스택에 잠시 저장하는 장소이다.
- 즉, 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내서 사용한다.
- working directory에서 수정한 파일들만 저장한다.
- 명령어
- git stash //새로운 stash를 스택에 만들어서 작업을 임시 저장한다.
- git stash list // stash 목록 확인
- git stash pop // 저장했던 작업을 적용과 동시에 스택에서 stash 제거한다.
- git stash apply [stash name] // 해당 stash를 적용한다. (가장 최근의 stash 적용, 제거되지는 않음)
Reset
- 이전 버전(또는 특정 commit)으로 돌아갈 때 사용한다.
- 3가지 옵션(hard, soft, mixed(default))이 있다.
- 명령어
- git reset <option> <돌아가고싶은 commit>
'Git' 카테고리의 다른 글
[GIT] 오늘 배운 git 정리 (0) | 2020.01.19 |
---|---|
[Git] .gitignore (0) | 2020.01.19 |
- Total
- Today
- Yesterday
- binarySearch
- 알고리즘
- SRTN
- java
- Process Scheduling
- 자료구조
- Android
- 기능개발
- git
- MFQ
- 프로그래머스
- 백트래킹
- 3-way-handshake
- 우선순위큐
- 백 트래킹
- hash
- loss function
- hashtable
- algorithm
- DFS
- programmers
- 농협정보시스템IT
- MLQ
- N-Queen
- 4-way-handshake
- SWExpert
- 사회망서비스
- Objective function
- 네트워크
- 프로세스 스케줄링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |