版本控制工作流程

时间:2011-12-04 10:42:43

标签: git version-control

我已编码超过10年,但我从未使用任何版本控制。我想学习并开始使用GIT,我打算尽快阅读Apress ProGIT书。

这个问题不是关于如何使用GIT命令,而是更多关于调用它们的步骤。

我经常读到有人说要结帐项目,然后将其推送到服务器。

我通常一次处理很多文件,所以我想弄清楚,每次我对文件进行更改并点击“保存”是我应该提交该文件的时间,还是更好的我工作了在今天的这5个文件中,在一天结束时我可以提交所有这5个文件吗?

我知道有很多人使用GIT命令行,所以我无法想象每次更换文件时它们都会来回运行。

我意识到这可能听起来很基本但是记住我从来没有使用任何类型的版本控制所以我有点迷失,我的意思是所有文章和教程都是关于正确的语法/命令并假设你有其他版本控制知识(大多数人都这样做)

3 个答案:

答案 0 :(得分:7)

使用git或任何DVCS的事情是,提交推送您的上游提交是完全不同的概念。例如,如果使用SVN,提交意味着每个人都看到你的变更集,在git中你没有这样的担忧。随时随地提交,尽可能多地提交。一旦你对它们有足够的信心,就可以将更改推向上游。

这允许您按照自己的意愿提交。基本上,这可归结为您的个人工作流程偏好以及您团队的偏好。

一个好的经验法则是在你有一个稳定的新版本代码后提交,这样如果有人碰巧检查了那个版本,那么东西就不会被打破。 (如果您计划执行git bisect这是一种高级调试方法,这也很重要,但暂时忽略它。)

您可以通过以下方式学习一些非常好的资源:

答案 1 :(得分:4)

  

我通常会同时处理很多文件,所以我想弄清楚   out,everyime我对文件进行了更改并点击了save`就是时间   我应该提交该文件,还是更像是我在这5个工作   今天的文件,在一天结束时,我可以提交所有这5个文件?

使用VCS时,最好考虑功能方面的更改(或者如果您正在解决问题而修复)而不仅仅是文件。即使您只更改了一个文件,但引入了完整的新功能,如果您在团队中工作,准备与其他人共享,则需要进行提交。另一方面,如果您已经更改了20个文件,但是您仍然在实现新功能,那么最好推迟提交直到完成。

每种方法都有例外,但这是我尝试在工作中使用的一般规则。它背后的想法是,在任何提交后检查你的代码后,你会得到或多或少完成和工作的东西。当您需要稍后删除/恢复其中一个功能时,为每个功能创建新提交也很有用。虽然,通常你正在开发一个不能单次提交的大功能。在这种情况下,我仍然会尝试将此功能分解为更小的部分,并在完成所有部分之后进行提交。

我的例外通常是刚刚开始的项目而你并不关心未来,因为它只是刚刚开始,项目还没有很好的结构,很可能很多东西会在最近的未来。在那种情况下,我的提交有时会变得庞大而且结构不合理。

答案 2 :(得分:2)

点击此链接:Git for beginners: The definitive practical guide

我发现它非常有用。它让我明白它是如何运作的。

相关问题