我怎么能告诉樱桃选择一个被压缩的提交范围?
或者换句话说,将两次提交之间的差异应用于存储库的当前状态?
以下不工作(cherry-pick没有--squash选项):
<?xml version="1.0" encoding="UTF-8"?>
<FileZilla3 version="3.14.1" platform="windows">
<Queue>
<Server>
<Host>ftp.site.com</Host>
<Port>21</Port>
<Protocol>0</Protocol>
<Type>0</Type>
<User>ftp.site.com|CORP\user</User>
<Pass encoding="base64">XXXX</Pass>
<Logontype>1</Logontype>
<TimezoneOffset>0</TimezoneOffset>
<PasvMode>MODE_DEFAULT</PasvMode>
<MaximumMultipleConnections>0</MaximumMultipleConnections>
<EncodingType>Auto</EncodingType>
<BypassProxy>0</BypassProxy>
<Name>SiteName</Name>
<File>
<LocalFile>C:\XXX.txt</LocalFile>
<RemoteFile>XXX.txt</RemoteFile>
<RemotePath>1 0</RemotePath>
<Download>0</Download>
<Size>635529</Size>
<DataType>0</DataType>
</File>
</Server>
</Queue>
</FileZilla3>
注意:我的用例属于子树场景 - 在任何人开始争论我不应该压制之前。
以下工作,但后来我有一系列单独的提交。之后,我可以使用交互式rebase手动压缩它们。
git cherry-pick --squash e064480..eab48b59c
作为樱桃挑选的一部分,有没有办法挤压?
答案 0 :(得分:69)
将-n
传递给git cherry-pick
。这将应用所有提交,但不提交它们。然后只需执行git commit
即可在一次提交中提交所有更改。
答案 1 :(得分:0)
跟随master =>樱桃从另一个分支中选择两次提交
git checkout master
git cherry-pick:1
git cherry-pick:2
git reset --soft HEAD〜2(樱桃选择提交的次数,即2)
git add。
git commit
答案 2 :(得分:0)
在某些用例中,git cherry-pick -n
与git merge --squash
的替代方案可能是localVideoId
-例如,当您想在集成分支之上测试功能分支的更改而无需重新定基础时。
来源:What's the difference between git merge --squash and git cherry-pick?