2011-10-12 224 views
8

我是新来的git和测试它现在。在我的本地机器上,我经常进行提交。每隔一段时间我想将代码推送到中央回购站。此时我发布了所有提交的提交。当我单独工作时,这不是一个大问题,但是当我在一个项目上使用多个开发人员时,这会变得混乱。同时我想在本地机器上保存所有本地提交,以防万一。git push,不推送所有本地提交

这是git的一个工作的好办法吗?这可能吗?或者我在想错误的方式?

+0

这两个答案的确是......这么做的方法......-学习:-) – Patrick

回答

5

的一种方法是让自己在本地存储库中的个人发展分支。这只是一个普通的分支,没什么特别的,但是当你运行git push时,分支上的提交不会被推送到中央存储库。当您准备好分享您的更改时,将您的个人分支中的提交合并到主分支中,然后您可以将它们推送到中央存储库。

对此的一种变化是为每个您工作的逻辑功能启动一个新分支,以便您拥有许多小型个人开发分支而不是一个大分支。然后,您可以在将特征分支合并到主分支后删除特征分支。

3

Git工作流鼓励您清理您的本地(早期和经常)提交到逻辑顺序的提交,让最终读者通过实施您的新工作逐步完成。这可以使用git rebase -i功能和其他工具完成。有了这些,您可以根据需要重新排序,编辑,拆分和压缩提交,使其看起来不错。然后把提交到服务器,当然也保存在本地。

此工作流是通过无需手段。你可以把你所有的细节提交到服务器(但你声称会变得“混乱”),或者你可以将你的工作压缩到一个单独的提交中,并推动它。尽管你不能合理地做到这一点,但是在本地保留另一个集合的同时,向服务器推送一个提交。你可以处理这个

+0

如果您使用分支,您可以“将一个提交推送到服务器,同时在本地保留另一个提交。” – jcoffland