2010-02-09 44 views
5

我在git的世界是一个新手,我想请问怎么解决我的工作流程问题,基本上我有2台电脑,一个办公室,一个在家里,我也有一个vps作为我的git共享库。当我在办公室工作时,我有未完成的代码,我想继续在家工作,所以通常我会先在办公室提交,并将我的工作推到git共享存储库中,之后我将在家中退出,继续吧。Git的 - 保留工作,无需提交

但是有时候,我只是没有直接回家,与此同时,我的同事之一,拉动代码并使用它,他只是吼我,因为我犯了破坏的代码。所以我的问题是,如何在没有提交的情况下更换电脑,但我仍然没有完成我的工作?

+6

不要将其推入共享回购站并直接从您的工作回购中拉入;选项二,建立你自己的'中央'仓库,或者第三个选项工作一个分支。无论你看起来更自然,但你仍然必须承诺。 – falstro 2010-02-09 10:46:05

回答

11

做你自己的分支上的所有工作,让您的同事不知道从该分支拉。如果你有很多开发人员,这可能会变得混乱,但只有两个人,它应该不是问题。

+0

在你自己的分支工作也允许你重置/重新定义/删除提交 - 无论你想要做什么 – knittl 2010-02-09 10:52:53

+0

这并不重要。即使您确定您是唯一使用它的人,也不应该重置/重新署名/删除您推送的提交。如果你还没有推动,你可以自由地rebase等别人的分支,而不会造成任何麻烦。 – kubi 2010-08-31 16:42:20

0

正如kubi所说,使用一个私人分支。如果您不想将损坏的代码推送到存储库中,则可以将修改作为补丁(使用git format-patch)发送给自己,将其应用于家中并从那里开始工作(使用git apply

还请记住您可以使用git commit --amend覆盖一个适当的“半焙烤”提交,读取推送到共享仓库。

2

当我在一个项目中工作时,我使用自己的分支。所以,如果我有尚未完成的代码,我会将它提交给我自己的分支。当我认为这个代码已经可以使用时,我将它提交给一个通用的工作分支。在测试它之后,我们将它合并到主分支。

例如:

主分支:由大家测试。 WIP分支:常见工作正在进行分支,每个分支都可以使用该代码并对其进行测试。 WIP-Bright:我自己的分支 WIP-someone:别人的分支。

使用此git cheatsheet化妆用git轻松了许多工作。

0

如果不能建立网络和资料库,让您可以在下班回家的推拉工作(见“我怎么会用‘混帐推’同步的是,我不能拉主机? “在GitFaq页上的Git维基),并且你也不能设置自己的裸‘出版’使用你的工作和家庭之间excahnge,看看git bundle,这是为离线(sneakernet)运输仓库。

这可能是不直接回答你的问题,但我希望这将有助于。