2016-09-19 5 views
0

내가 만들고 내 로컬 마스터 지점에 일부 변경을 커밋 후마스터를 앞두고 새 로컬 브랜치에 변경 사항을 저장하는 방법은 무엇입니까?

Your branch is ahead of 'origin/master' by 2 commits. 
(use "git push" to publish your local commits) 

상태입니다.

로컬 변경 사항을 새 분기로 선택하는 방법은 무엇입니까?

원하는 결과는 다음과 같습니다. local/master가 origin/master와 동기화되고 두 개의 커밋이있는 로컬 분기가 있습니다.

git checkout -b newBranchName 

이 새로운 지점을 만듭니다 먼저

+1

[현재 변경 사항이있는 Git 브랜치 만들기] 가능한 복제본 (http://stackoverflow.com/questions/3899627/create-git-branch-with-current- 변경) –

답변

7

, 작업중인 현재 마스터와 동일. 그 후

,

git checkout master 

이 현재 지점으로 마스터를 선택합니다.

마지막

git reset --hard origin/master 

이 마스터에서 그 두 커밋을 제거합니다,하지만 그들은 newBranchName

EDIT 여전히 사용할 수 있습니다 : @ShmulikKlein는 언급으로, --hard 조심 ... 당신은 항상 사용할 수 있습니다 --soft 그런 다음 변경 사항을 취소하십시오.

1

@ Matias가 맞지만, 먼저 git reset --hard을 사용할 때 매우주의해야합니다. 마지막 2 개를 revret 또한 전 작업 디렉토리 및 준비 영역 (일명 unstaged 및 uncommited 변경)을 제거합니다.

둘째, 난 당신이 master 지점에있을 때 당신은 단지 당신이 질문을 게시 한 이후 변경된 방법 origin/master 알 수 없기 때문에, 지난 2 커밋을 되돌리려 이후 마지막 단계는, git reset --hard HEAD~2을해야한다고 생각 ... (git status을 사용하여 확인하지 않는 한)

관련 문제