2016-06-08 10 views
0

풀 요청이 here이고 "git rebase"를 수행 할 때 풀 요청을 작성하지 않은 커밋이 추가되었습니다. 리모콘 branch은 합병 중이므로 모든 커밋보다 앞서 있으므로 왜 PR에 들어갈 지 이해할 수 없습니다. 어떤 방법으로 이것을 취소 할 것인가, 또는 이것을 어떻게 막을 것인가?rebase를 수행하면 master 분기 커밋이 내 풀 (pull) 요청에 추가됩니다.

는 여기이 후

# Checkout local branch and apply changes 
mkdir /home/yaroslavvb/tfimmediate_fresh 
cd /home/yaroslavvb/tfimmediate_fresh 
git clone https://github.com/yaroslavvb/tensorflow.git 
cd tensorflow 
git checkout tfimmediate_fresh 
# do my modifications 
git commit -m "Changes" 

# Rebase against main branch 
git remote add tfmain https://github.com/tensorflow/tensorflow.git 
git fetch tfmain 
git rebase tfmain/master 

# fix conflicts 
git add tensorflow/contrib/__init__.py 
git rebase --continue 
git pull 
# fix conflicts again 
git add tensorflow/contrib/__init__.py 
git commit -m "Fix merge conflicts" 
git push 
git push -f 

, 내 풀 요청을 리베이스, 당신은 당신의 git rebase --continuegit pull을 한 동안 내가

답변

2

제작하지 않은 마스터 브랜치의 변경 사항이 포함되어 무슨 짓을했는지.

원본/마스터 분기의 새 커밋을 로컬 분기와 병합하므로 병합 된 커밋이 끌어 오기 요청에 포함됩니다.

리베이스 한 후에는 끌어 오기 요청에 사용할 분기에 변경 사항을 적용하면됩니다.

0

내가 rebase 때마다 내 인생에 오신 것을 환영합니다. 바라건대 우리는 앞으로 Olivier의 말을 듣고 당기지 않고 이것을 피할 수 있습니다.

하지만, 이미이 작업을 수행 했으므로 이제 엉망입니다. 뭐라구? 나는 새로운 지점을 만들고, 변경 사항을 복사하고, 새로운 PR을 만들었지 만, 우리는 이런 식으로 삶을 살아야 할 필요가 없습니다. 커밋을 삭제할 수 있습니다.

git log 당신에게 커밋 목록을 제공합니다. 당신은 다음의 SHA을 잡고 개인이 사용하는 커밋 제거 할 수 있습니다

git rebase -p --onto 4196caae8735bb983a2a0bace6f72b0820a755c1^ 4196caae8735bb983a2a0bace6f72b0820a755c1 (참고 :. 당신이 zsh을 사용하는 경우, 당신은 ˆ을 backwack해야합니다)

당신이 살해 한 후 커밋 (원격 브랜치에 여전히 추가 커밋이 있기 때문에 단순히 git push 만 사용할 수는 없습니다. 대신 잠재적으로 위험한 git push origin -f을 수행하여 원격 지점이 다른 지점이 아닌 다른 지점과 강제로 연결되도록하십시오.

면책 조항 : 내가 뭘하고 있는지 모르겠다. 그러나 몇 번의 시도 후에, 나는 이러한 일을함으로써 내가 원하는 상태에 도달했다.

"cherry-pitting" 명령의 경우 Seth Robertson의 프롭.