2009-08-19 55 views
3

关于Git命令有很多指导,但我没有看到很多解释开发者实际上如何在日常使用中使用它的问题。我理解推,拉,提交等基础知识......但我不明白何时使用分支。关于使用Git的问题

在本地回购:

  • 如果你创建每一套变化的一个新的分支或者是没关系的主分支工作?

  • 是否应该为每个分支创建一个新的克隆?

  • 您何时将您的本地分支机构与您的本地主机合并?

谢谢。

+0

同意,我发现GIT有一个我见过的最混乱的界面......也许我只是没有足够复杂的使用它,LOL – Zoidberg 2009-08-19 13:56:53

+0

你应该真的把这些问题分解到不同的帖子中。 – 2009-08-19 13:57:42

+0

@Phillip - 我拿出了最后两个问题。我会把它们放在单独的帖子中。谢谢。 – user142006 2009-08-19 14:04:06

回答

4

你应该为每一组更改创建一个新的分支还是可以在主分支上工作?

这是口味的问题。您应该为实现的每个主要功能(“主题分支”)创建一个分支,以便能够在原始主分支上执行错误修正。对于小型项目,可以在主分支上工作。

例如,如果你打算做一个重大的重新设计,跨越多个文件或在一段较长的时间做这个工作,你一定要为它创建一个话题分支。特别是如果你打算在两者之间使用“不稳定”提交,这是鼓励。

也就是说,大多数时候在不同的分支上工作可能是合理的,因为事先很难预先知道主题需要多少工作。

则应为每一个分支新克隆?

为什么你应该?只需创建一个新分支并使用git checkout <branchname>即可切换分支。

提示:了解git stash暂时“离开藏匿”所有本地修改,用树枝工作时是非常方便的。

当你与你的本地主合并当地的分支机构?

一旦“主题”完成,您应该将其与主人合并。之后,您可以删除主题分支。

当(以及如何)你创建一个远程的分支?

您可以指定哪些地方分支使用git pullgit push其远程分支机构或在.git/config文件中定义相应的ref s到同步。

当您想要通过多台机器或用户共享分支机构时,您需要远程分支机构。

0

你应该为每一组更改创建一个新的分支还是可以在主分支上工作?

它有助于有不同的分支,当不同功能集的发展发生在平行

如果您创建每个分支新克隆?

不是。便宜的本地分支是分支的许多优点之一。

当你与你的本地主合并当地的分支机构?

完成分支中的功能之后,将其合并到主设备。此时,最好在其他地方克隆它。 (GitHub的?)

0

因为我只有一个人,我宁愿让我的IDE的情况下,数量有限开放,我倾向于只保留一个仓库的克隆,只是改变克隆的内容。

这意味着我通常必须在每次更改结帐内容时运行某种干净的构建。

最常见的使用模式之一是使用“功能分支”,您可以在独立的分支中开发不同的功能。然后,您可以拥有一个或多个集成分支(=发行版),将这些功能合并到一起。

3

你应该为每一组更改创建一个新的分支还是可以在主分支上工作?

我创建了一个新的分支,当我将进行一些相关的更改时,我可能会决定不保留这些分支,但是在我正在处理它们时会撕裂并破坏主分支。特别是如果我想在此过程中进行多次检查。

例如,让我们说,我有一个简单的图形计算器应用程序,我想加括号和操作的顺序,但我不知道是否会工作,我想这样做的方式。我会创建一个新的分支,随时检查我的更改,如果我最终喜欢这个结果,那么我会和Master合并。

这是特别好,如果我有别人问用于修补漏洞到发布的版本(建关老爷的),而我的工作。我可以轻松切换到master,修复bug,重建,重新发布,并切换回我的开发分支。

则应为每一个分支新克隆?

我不会建议为每个分支创建一个新的克隆,除非您不想在切换之前检查本地更改。但即使如此,当您切换分支时,可以使用“git stash”命令保存更改,切换工作并切换回去。

当你与你的本地主合并当地的分支机构?

当您能够成功构建并且您认为已经实现了您所瞄准的功能时,您应该将本地更改与主分支合并。不要打破主分支。

何时(以及如何)创建远程分支?

通过创建本地分支并在检出本地分支时进行推送来创建远程分支。如果您需要对其进行备份或其他人可能想要检查它,则只应推送一个新分支以远程创建它。如果你只是在本地玩功能,你可能不想推它。

您是否写了一条消息,相对于您更改的文件或相对于该项目?

相对于该项目。尽可能清楚地提交你的提交信息,但是尽量写一个简明的摘要行,然后留下一个空行,然后提交你的提交细节。 Git是基于树的,而不是基于文件的,所以如果一个功能或bug修复涉及到一堆文件,请立即用相同的消息检查它们。