branch?
: git에서의 나뭇가지 형태의 코드관리 흐름
Master branch ?
: Repository를 만들고 commit을 하면 기본으로 세팅되는 branch
branch merge?
: 다른 branch에서 한 commit을 다른 branch에도 반영
Conflict?
: merge중 충돌이 발생한 경우
* 컴플릭트 해결 방법
- 컴플릭가 발생한 부분을 삭제하고 결과가 되었으면 하는 코드로 수정 후 커밋.
- merge 자체를 취소한다. (git merge --abort)
* 컴플릭트를 해결한 경우 : Merge branch '브랜치명' into 브랜치명
Resolved?
: confilct가 해결된 상태
Origin?
: git에서 리모트 레포지토리를 최초로 추가할 때 사용하는 이름(관례)
tracking?
: 로컬 레포지토리의 한 브랜치가 기모트 레포지토리의 한 브랜치와 연결되어 그것을 계속 바라보는 상태가 되는 것
* 이렇게 맺어진 연결 상태를 tracking connection이라고 한다.
* tracking connection으로 설정되면 push, pull 명렁어만 사용하여도 해당 브랜치를 대상으로 명령이 동작한다.
HEAD?
: branch를 통해 commit을 가리킴
* HEAD를 이동시켜 과거의 커밋으로 reset한다고 이후의 커밋들이 삭제되는 것이 아님
Merge Commit?
: HEAD가 가리키던 커밋에 다른 브랜치가 가리키던 커밋을 합쳐 새로운 커밋을 만드는 작업
* merge를 한다고 항상 새로운 커밋이 생기는 것은 아님
-> (Fast-forward merge : 새로운 커밋이 생기는게 아니라 단지 브랜치가 이동하게 되는 merge)
3-way merge?
1. 두 갈래 이상으로 갈라지기 전 공통 parent이 되는 커밋
2. 한 브랜치가 가리키는 커밋
3. 다른 브랜치가 가리키는 커밋
명령어
git branch
: 전체 branch를 조회
git branch [브랜치 이름]
: branch 생성
git branch -d [브랜치 이름]
: 해당 branch 삭제
git checkout -b [브랜치 이름]
: branch 생성 및 바로 이동
git merge [브랜치 이름]
: 해당 branch에서 한 커밋을 다른 branch에도 반영
git merge --abort
: merge를 취소 (merge하기 이전의 상태로 돌아가기)
git remote add origin "git url'
: remote 레포지토리에 관한 작업을 할 때 쓰는 커맨드 (리모트 레포지토리를 origin이라는 이름으로 등록)
git push -u origin master
: 현재 로컬 레포지토리에 있는 master브랜치의 내용을 origin이라는 리모트 레포지토리로 보낸다.
만약 origin이라는 리모트 레포지토리에 master 브랜치가 없으면 master브랜치를 새로 생성하고 푸시
* -u (--set-upstream) : 로컬 레포지토리에 있는 master 브랜치가 origin에 있는 master 브랜치를 tracking하는 것으로 설정
* fatal : The current branch ____ has no upstream branch : 로컬 레포지토리의 내용을 리모트 레포지토리로 첫 push해주면 해결!
https://developing-countries.tistory.com/6
5. pull
pull? : remote repository의 branch를 가져와서 현 branch에 merge하는 것 * 컴플릭트가 발생할 수 있음 fetch? : remote repository에서 가져온 branch의 내용을 merge하기 전에 비교하고 싶은 경우 사용..
developing-countries.tistory.com
'git' 카테고리의 다른 글
[git] stash (0) | 2021.04.26 |
---|---|
[git] pull (0) | 2021.04.26 |
[git] 기본 명령어 정리 (0) | 2021.04.11 |
[git] GitHub 기초 (0) | 2021.04.11 |
[git] 기초 용어 설명 (0) | 2021.04.11 |
댓글