Git - 保留工作而不提交

时间:2010-02-09 10:42:05

标签: git

我是git世界的新手,我想问一下如何解决我的工作流问题,基本上我有两台电脑,一台在办公室,一台在家里,而且我也有一个vps工作,因为我的git共享库。当我在办公室工作时,我有未完成的代码,我想在家里继续我的工作,所以通常我会首先在办公室工作并将我的工作推入git共享存储库,之后我会在家里撤回继续吧。

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

4 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:2)

当我在一个项目中使用更多时,我使用自己的分支。因此,如果我的代码尚未完成,我会将其提交并推送到我自己的分支机构。当我认为这段代码可以使用时,我将它提交给一个常见的工作分支。在这里测试之后,我们将它合并到主分支。

示例:

Master branch:每个人都经过测试。 WIP分支:正在进行的工作分支,分支每个人都可以使用代码,并对其进行测试。 WIP-Bright:我自己的分支 WIP-someone:别人的分支。

使用此git cheatsheet可以更轻松地使用git。

答案 2 :(得分:0)

正如库比所说,使用私人分支机构。如果您根本不想将损坏的代码推送到存储库中,您可以将更改作为补丁发送给自己(使用git format-patch),在家中应用并在那里工作(使用git apply

另请记住,您可以使用git commit --amend覆盖“半烘焙”提交并使用正确的提交,将其读取到共享仓库。

答案 3 :(得分:0)

如果您无法设置网络和存储库,以便您可以在家工作并开始工作(请参阅“我将如何使用”git push“同步到我无法撤出的主机?”在Git Wiki上的GitFaq页面中,你也不能设置你自己用来在工作和家庭之间进行的“发布”存储库,看看git bundle,这是为了关闭 - line(sneakernet)transport。

这可能不是您问题的直接答案,但我希望这会有所帮助。