本地git签到 - 隐藏主存储库?

时间:2009-01-15 15:28:03

标签: git

我以为我记得曾经在某个地方读书,但我找不到它。

我在当地工作,甚至在当地的分支机构工作,我会根据需要或每天或其他任何方式办理登机手续。当我将代码推送到我想将其推送到主存储库时,有没有办法按原样推送文件,而不是推送所有历史记录?或者当我从分支合并回main时,我是否可以合并历史记录?

这些甚至是好主意吗?感谢您的帮助 - 仍然在这里学习!

1 个答案:

答案 0 :(得分:9)

您可以将更改合并为主分支上的单个提交:

$ git checkout main
$ git merge --squash local

当然,这会丢弃您当地的所有历史记录。总而言之,这不是我会做的事情。相反,如果您担心本地历史记录中的提交令人尴尬或妥协,请使用git rebase重写您的本地历史记录;然后,执行正常的合并,并推出清理过的本地历史记录。

编辑/澄清:交互式 rebase将允许您轻松删除或“压缩”历史记录中的提交:

$ git checkout local
$ git rebase -i main