Git 如何留住地方实验分院的区长

Git 如何留住地方实验分院的区长,git,Git,我有一个实验分支(不在任何远程存储库中),我只想保留它的头部,然后再将其与master合并 git log --graph --all --oneline --decorate * c44824d (HEAD -> experiment) amazing experiment * 66650f0 embarrasing commit * 0a0289d embarrasing commit * cc0e9b6 embarrasing commit * a9e76f0 embarrasin

我有一个实验分支(不在任何远程存储库中),我只想保留它的头部,然后再将其与master合并

git log --graph --all --oneline --decorate

* c44824d (HEAD -> experiment) amazing experiment
* 66650f0 embarrasing commit
* 0a0289d embarrasing commit
* cc0e9b6 embarrasing commit
* a9e76f0 embarrasing commit
* be94f13 embarrasing commit
* ac6a3f6 (heroku/master, master) amazing commit
* d2c5a8c amazing commit
* d5cc13c amazing commit
我希望它看起来像这样

git log --graph --all --oneline --decorate

* c44824d (HEAD -> experiment) amazing experiment
* ac6a3f6 (heroku/master, master) amazing commit
* d2c5a8c amazing commit
* d5cc13c amazing commit
我不需要(或不想)保存任何实验分支的历史

简单:

git reset --soft master
git commit -m "amazing experiment"
你在这里

简单:

git reset --soft master
git commit -m "amazing experiment"

你在这里

你想描述一个壁球吗?我研究了壁球,但它似乎是可逆的,因为你已经接受了这个答案,它不会立即删除所有的提交。注意,这只是局部的。那又怎样?哦,也许我不太明白reflog和squash是如何工作的。一个被挤压的分支,如果已经与主分支合并并推送到远程分支,那么其他克隆它的人是否可以将其反转?在实验分支中有一些提交,我不希望看到曙光。你不需要通过reflog将所有可以访问的内容推送到远程,只需要从你推的ref中可以访问的内容。另外,如果你只想要最后一个差异,而不是结果,你可以选择最后一个提交。你想描述一个壁球吗?我查看了壁球,但它似乎是可逆的,因为它是你接受的答案,它不会立即删除所有这些提交。注意,这只是局部的。那又怎样?哦,也许我不太明白reflog和squash是如何工作的。一个被挤压的分支,如果已经与主分支合并并推送到远程分支,那么其他克隆它的人是否可以将其反转?在实验分支中有一些提交,我不希望看到曙光。你不需要通过reflog将所有可以访问的内容推送到远程,只需要从你推的ref中可以访问的内容。另外,如果您只想要最后一个差异,而不是结果,您可以选择最后一个提交。