Mil*_*les 27 git atlassian-sourcetree
是否有可能在SourceTree中挤压?我看到你显然可以"拖放"提交以压制它们.但是,当我这样做时,它只突出显示了几个提交.
小智 26
从版本1.5开始,您现在可以执行交互式rebase,这将允许您压缩.
从版本1.6开始,SourceTree for Mac中提供了交互式rebase (强调我的):
该
git rebase –interactive命令允许您在创建提交后重新组织提交(但在公开之前),现在您可以在SourceTree中执行此操作.将多个提交合并(压缩)在一起,或者只需通过拖放即可重新排序.您还可以更改提交消息,或编辑提交的内容.只需右键单击日志中的提交,然后选择"以<sha>交互方式重新启动子项"即可启动该过程.
显然,压缩提交是SourceTree 1.6 for Mac中的一项功能.
但是,该功能似乎在Windows版本的SourceTree中不可用,该版本目前仍处于1.0.8版本.
您仍然可以选择使用命令行来压缩提交:
git rebase -i <sha-of-base-commit>
Run Code Online (Sandbox Code Playgroud)
在TODO列表中,s在提交旁边放一个(用于压缩)压缩到上一次提交:
pick e953225 Add meow meow meow
s def892d Add master
Run Code Online (Sandbox Code Playgroud)
要了解更多关于如何壁球使用命令行提交,见挤压承诺,从免费的在线临Git的书.
如果您想保留最后 10 次提交,请压缩您最新的提交
1) git reset HEAD~10
2) git add .
3) git commit -am "single commit message for 10 last changes"
4) git push --force
Run Code Online (Sandbox Code Playgroud)
从1.4.1.0开始,Windows用户仍然没有壁球.但是,您可以手动获得相同的结果.
将分支A压入分支B:
承诺.
1. 2. 3. 4.
* <- [A][C] * <- [A] * <- [A] * <- [A]
| | | |
* * o <- [C] with changes * o <- [C][B] with changes * * <- [C][B] committed
| |/ |/ |/
* <- [B] * <- [B] * *
| | | |
: : : :
Run Code Online (Sandbox Code Playgroud)如果您不需要保持A的位置,则无需创建C.
我建议gitk在执行这些操作时将其打开,因为在关闭之前,您可以看到所有已分离的提交.(我想在SourceTree中看到这种慷慨)
至少,reflog是你的朋友.