我被要求“将(我的)提交重新调整为一个提交?”对于拉取请求https://github.com/samtools/htsjdk/pull/34#issuecomment-45226559
这是我第一次这么做,我想我只是做错了。我现在迷路了。
上次我试过什么:
$ git branch
* fastq
$ git status
$ git merge-base fastq master
67901f963470a1cd2f8477f736b6b2192343485c
$ git rebase --interactive 67901f963470a1cd2f8477f736b6b2192343485c
(... tried things, ... pulled, pushed, etc...)
$ git rebase --continue
error: Ref refs/heads/fastq is at a3aa885e4943279a7ece9e2eae85b1a80c41af32 but expected c5dc7c69108d1d72cf9eeb0144332075b06fea71
fatal: Cannot lock the ref 'refs/heads/fastq'.
应该做些什么来满足评审员的需求?
更新:当我试图推动
$ git push origin fastq
To https://github.com/lindenb/htsjdk.git
! [rejected] fastq -> fastq (non-fast-forward)
error: failed to push some refs to 'https://github.com/lindenb/htsjdk.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
最佳答案
关于your fasq branch中的回扣,这将是:
git checkout fastq
git rebase -i 67901f963470a1cd2f8477f736b6b2192343485c (last commmit before your change)
# select s for each commmit in order to squash them)
一旦您的提交被撤销/压缩,您将不得不强制推送您的分支,因为历史是不同的。
git checkout fastq
git push -f
这将自动更新pr(拉取请求)。