2009-01-15 41 views
3

我以为我记得在某处读某种方式来做到这一点,但我找不到它。本地git签入 - 隐藏主存储库?

我在本地工作,甚至在当地的分支机构工作,而且我根据需要或每天或其他方式检查。当我将代码推到我想将其推送到主存储库的位置时,是否有办法按原样推送文件,而不是推送所有的历史记录?或者当我从一个分支合并回main时,我能否合并历史记录?

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

回答

9

你可以合并更改为单一提交主枝上:

$ git checkout main 
$ git merge --squash local 

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

编辑/澄清:一个互动底垫可以让您轻松删除或“挤压”犯的历史:

$ git checkout local 
$ git rebase -i main