현재 브랜치 확인
git branch
브랜치 변경하기
STEP.1 브랜치 만들기
git branch {branchname}
ex) git branch BiCute
STEP2. 브랜치 전환한기
git checkout {branch}
ex) git checkout BiCute
※ 한번에 브랜치 만들고 전환하기 (-b 옵션)
git checkout -b {branch}
ex) git checkout -b BiCute
특정 브랜치만 clone 하는 방법
git clone -b {branchname} --single-branch {저장소 URL}
ex) git clone -b DUCK --single-branch http://bicute.tistory.com:3000/bicute/clone_sample
특정 브런치만 pull 하는 방법
git pull origin {branchname}
ex) git pull origin DUCK
ERROR
GIT PUSH 중 충돌
![rejected] (non-fast-forward)
git --force push origin <branch name>
※ 강제로 밀어서 해결 가능하지만 협업시 타인의 커밋 정보 또한 덮어써버려 원격 저장소와의 작업 내용이 동기화가 끊어지게 만들수도 있기에 주의가 필요.
GIT PULL 중 충돌
error: Your local changes to the following files would be overwritten by merge:
git stash로 해결 가능
- 현재 디렉토리의 파일을 임시로 백업하고 깨끗한 상태로 돌린다.
- 버전관리 되는 대상 파일들을 임시저장 해둔다고 보면 된다.
STEP.1 해당 명령어를 통해 현재 Staging 영역에 있는 파일의 변경사항을 스택에 넣어 둔다.
git stash
STEP.2 master에서 pull하거나, git checkout 등 원격 저장소에서 내 로컬 브랜치로 변경사항을 적용한다.
git pull origin master
STEP.3 변경 사항을 적용하고, 스택에서 제거 한다.
git stash pop
※ 위 과정을 한번에 실행 할 수도 있다.
git stash && git pull origin master && git stash pop
원격 저장소에 PUSH 한 마지막 Commit 삭제하기
STEP.1 (오프라인에서) 가장 최근의 commit 되돌리기
git reset HEAD^
STEP.2 commit을 되돌렸다는 것(지웠다는 것)을 원격 저장소에도 알려주기
git push -f origin {branchname}
ex) git push -f origin BiCute
작업내용 잠시 보관하기(stash)
STEP.1 stash에 보관하기
git stash
STEP.2 stash 목록 확인하기
git stash list
STEP.3 가장 최근의 stash 가져오기
git stash apply
STEP.4 남아있는 가장 최근의 stash 스택 제거하기
git stash drop
※ 한번에 stash 가져오고 스택 제거하기
git stash pop
+@ 이름 지정해서 stash 저장하기
git stash save “내용작성”
+@ 원하는 stash 제거
git stash drop {stash 번호}
ex) git stash drop stash@{1}
작업 도중 master branch의 데이터를 pull 하기
STEP.1 작업 변경 사항을 브랜치에 커밋
git add .
git commit -m {message}
STEP.2 마스터 파일 pull
git pull origin master
STEP.3 변경 사항을 푸시
git push origin {branch name}
ex) git push -f origin BiCute
master에서 받아온 내용을 적용하여 해당 분기에 push를 하게됩니다.
※ 대충 git이 어떻게 돌아가는지 익혔다면 빠르게 소스트리(Sourcetree) 같은 Git GUI로 갈아타도록 하자.
여러가지 장점이 있지만 주니어 입장에서는 한 파일내에서 특정 줄만 push를 한다거나 할 수 있어,
나만의 작업을 위한 테스트 코드를 쓸데없이 마스터에게 보내지 않아도 되기 때문에 병합하는 사람의 스트레스를 줄여 줄 수 있다.