Git Rebase和南瓜在子分支

时间:2019-02-14 08:35:20

标签: git

我正在git master和sub分支上工作。 母版子代码分支。

现在,我在 subcode 分支中进行了一项更改,并提交了(已完成4至5次提交),并且将 subcode 分支推了过来。

现在,我只想在我的子代码分支中仅显示一次提交,但当前它仅显示5次提交。

我已经使用以下命令对提交进行重新设置。

git rebase -interactive HEAD~3 

然后执行类似的编辑。

pick 6336d7c Commit commit#1
pick 54e8a9b Commit commit#2
pick 39f1d2h Commit commit#3 

git rebase --continue

但是它仍然显示5次提交。有什么主意如何将所有提交压缩并重新设置为一个提交?

2 个答案:

答案 0 :(得分:3)

一旦编辑器打开并带有选定的提交,请将pick更改为squash。因此,如果您想squash全部提交到#1中,它应该像这样:

  1. 选择6336d7c提交commit#1
  2. squash 54e8a9b提交commit#2
  3. squash 39f1d2h提交commit#3

然后保存,退出编辑器并执行:

git rebase --continue

答案 1 :(得分:1)

您可以使用:git static OSStatus engineInputCallback(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) { // the reference to the audio controller where you get the stream data MyAudioController *ac = (__bridge MyAudioController *)(inRefCon); // in practice we will only ever have 1 buffer, since audio format is mono for (int i = 0; i < ioData->mNumberBuffers; i++) { AudioBuffer buffer = ioData->mBuffers[i]; // copy stream buffer data to output buffer UInt32 size = min(buffer.mDataByteSize, ac.playbackBuffer.mDataByteSize); memcpy(buffer.mData, ac.streamBuffer.mData, size); buffer.mDataByteSize = size; // indicate how much data we wrote in the buffer } return noErr; } ,然后在第二次及以后的提交中将“ pick”替换为“ squash”或“ fixup”。 请参阅https://git-scm.com/docs/git-rebase#_interactive_mode