2016-10-16 3 views
1

저는 저의 프로젝트는 Master와 Branch1입니다. Branch1에서 분기하여 Branch2를 만들었습니다. Branch1과 Branch2는 모두 커밋과 함께 앞으로 이동했지만 Branch1은 원격이었고 Branch2는 내 로컬이었습니다. Branch1의 모든 기능이 완료되면 모든 커밋이 부숴졌습니다. 그러나 그때 내 지점에 대한 끌어 오기 요청을 만들 github.com에 (브랜치)에 갈 때Git rebase는 이전의 커밋을 나의 커밋으로 보여줍니다.

# On branch2 
git add . && git commit "my branch" 

# On branch1 
git pull (to get latest changes and update local copy) 

# On branch2 
git rebase origin/Branch1 

# fixed conflicts (1 file) 

git rebase --continue 
git push origin Branch2 

을 : 내 변경을 수행 한 후, 나는 브랜치 내 변화를 약속하고 사용하여 BRANCH1 위에으로 업데이트 ("내 지사는"커밋 메시지를)

  1. 숙청 커밋 내 BRANCH1

  2. 의 약속한다, 그것은이 커밋을 보여줍니다.

이 동작을 이해하지 못합니다. Branch1의 커밋이 내 지사의 커밋으로 표시되는 이유는 무엇입니까? 그것을 지우는 방법이 있습니까? 즉, 내 지부에서 내 커밋 만 있습니까?

답변

0

끌어 오기 요청에서 대상 분기에 누락 된 모든 커밋을 볼 수 있습니다 (예 : master). 명령 범위가 지정되어있는 git log 명령으로 표시 될 수 있습니다 (Using Commit Ranges with Git Log 참조).

$ git log master..origin/branch1 --oneline 
c675aeb all commits from branch1 squashed 

$ git log master..branch2 --oneline 
7be222e my branch 
c675aeb all commits from branch1 squashed 

GitHub는 원래 도입 된 분기 커밋에 상관하지 않습니다. 먼저 branch1master에 병합해야합니다. 그런 다음 master 상단에 branch2을 리베이스 (masterbranch2에 병합).

관련 문제