我刚开始学习git并且这样做我开始阅读Git社区书,在本书中他们说SVN和CVS存储文件之间的差异,而git存储所有文件的快照.
但我并没有真正了解快照的含义.git是否真的复制了每个提交中的所有文件,因为这是我从他们的解释中理解的.
PS:如果有任何人有更好的学习git的来源我会很感激.
我总是独自编程,我还是学生,所以我从未与其他人一起编程,我以前甚至都没有使用版本控制系统.
我现在正在开展一个项目,需要了解程序员如何在公司的一个软件上协同工作.
软件是如何编译的?它来自版本控制系统吗?是个别程序员吗?这是周期性的吗?是有人决定建造什么的吗?是否有任何测试以确保它"有效"?
什么都行.
version-control continuous-integration unit-testing compilation
Stack Overflow问题如何和/或为什么在Git中合并比在SVN中更好?是一个很好的问题,有一些很好的答案.然而,它们都没有显示一个简单的例子,其中Git中的合并比SVN更好.
关于这个问题将被重复关闭的可能性是什么
几点:
可能重复:
对于家庭项目,Mercurial或Git(或其他DVCS)可以提供比Subversion更多的优势吗?
Git,Mercurial和Bazaar的相对优势和劣势是什么?
这些源控制系统有什么区别?对于小型2人项目哪一个最好?
Git/Mercurial越来越受欢迎.我看过很多文章比较SVN和Git/Mercurial,但我想知道是否真的有任何理由继续使用SVN.现在Git/Mercurial似乎有很多工具可以帮助推广其企业采用.
有没有理由继续使用SVN?Mercurial/Git终于为公司采用做好了准备吗?
我是一个后端开发人员,对npm,bower,gulp,grunt和Yeoman有点困惑.每当我问某人他们的目的是什么时,答案往往归结为依赖经理 - 对所有人而言.当然,我们不需要四种不同的工具,它们都是一样的吗?
有人可以用尽可能少的句子来解释每个有益的东西- 如果可能的话,每个工具只使用一个,使用五岁的语言(具有开发技能)可以理解吗?
例如:
我过去曾经使用过maven,Jenkins,nexus和ant; 也许您可以将上述工具与这些工具进行比较?
也可以随意添加其他前端工具到列表中.
这是我到目前为止所发现的 - 不确定它是否正确,但是:
我接近了吗?:)
我的项目中出现了一些复杂的颠覆合并:长期分离的大分支.Svn给出了太多的冲突 - 其中一些似乎是虚假的.
鉴于git对于优秀的合并体验而言,为了使合并更易于管理,使用git-svn 它是否有益?
你能推荐其他的替代品(如svk,hgsvn),以减轻疼痛合并?
有些冲突很容易解决(例如java导入,空格) - 所以我也想知道是否有任何自动解决方案.
将来可能会完全切换到DVCS(我们中的一些人会喜欢),但现在不行.(更新:这不再是真的 - 团队最近完全切换并对此感到高兴).
提前致谢.
PS:有些帖子似乎是相关的(例如git-svn合并2个svn分支),但他们没有完全回答这个问题.
更新:看完我的-novice-回答后再往下走(这个道路).
可能重复:
为什么git比Subversion更好?
关于版本控制系统,我已经阅读了很多(虽然不足以得到完美的图片),显而易见的结论是GIT是最好的.或者是Bazaar.或Mercurial.但如果是这样,那么没有人会使用SVN,但他们仍然这样做.为什么?由于缺乏经验,我自己对vcs通常是最好的没有自己的看法.你能分享一下你的想法吗?
git ×7
svn ×7
mercurial ×3
merge ×2
bazaar ×1
bower ×1
compilation ×1
git-svn ×1
gruntjs ×1
hgsubversion ×1
javascript ×1
npm ×1
svk ×1
tooling ×1
unit-testing ×1