2013-04-27 58 views
0

我想弄清楚如何工作。我想用bootstrap作为我所有网站的起点(每个项目都是它自己的回购)。我想在必要时进行引导和更新,但我不希望引导程序回购中的所有内容都包含在css和js文件中。使用引导与git

看来我必须做到以下几点:

  1. 创建回购。
  2. 子模块引导。
  3. 为我想要的特定文件创建别名。
  4. 必要时更新子模块。

这真的是唯一的选择吗?难道只能从特定的回购中抽取我想要的子文件夹并手动更新它们吗?另外,如果我的解决方案是唯一的方法,我不应该添加submodule文件夹到我的gitignore文件?

回答

2

在尝试使用GIT来管理“真实”项目之前,我建议先学习GIT如何工作,并练习使用GIT和一些不重要的内容(例如简单的文本文件),这些内容不需要太多的努力来创建和成本没什么可毁灭的!

我建议先读汤姆·普雷斯顿·沃纳的GIT Parable

然后,你可能想要观看的PeepCode GIT tutorial或TekPub Mastering GIT教程视频。

不要忘了练习,练习,练习! GIT非常强大,但是这种能力会带来一些复杂性。花时间学习GIT与不重要的简单文本文件开始 - 它会在以后为您节省很多头痛。

+0

我相信,有数百个免费很好的教程和指南之类的书的git:临Git的(http://git-scm.com/book)。我认为没有意义为真正学习Git付费。 – Pigueiras 2013-04-27 12:28:05

+0

@pigueiras:这是你的选择,但根据我的经验,从良好的屏幕录像学习往往比从书本上学习(免费或其他)更快,更有价值。并非世界上的一切都必须自由地变得好。 – 2013-04-27 14:48:38

+0

我应该澄清一下,我明白git是如何工作的(尽管我并不假装已经掌握了它或者流利)并且已经在小文件上实践过了。我非常感谢你的链接,以便更好地理解git,并阅读了Pro Git **。我的问题更多地是关于做某件事情的能力:从回购中将_certain_文件/文件夹拖入我自己的回购协议中。子模块是棘手的,但我绝对不想克隆完整的repo,也不想重复下载zip。这可能是我想做的事情可能不如我想象的那么有用。我只是想了解如何更好地将git整合到我的工作流程中。 – alyda 2013-04-28 23:16:46

3

虽然你的步骤听起来合理,但我建议不要这样做。

原因:

  1. 子模块初学者有点复杂。最好不要将它用于真正的项目。
  2. 如果你的站点不是非常简单和静态的,你应该有更多的库来管理除Bootstrap以外的其他库。这些应该不是GIT管理他们的工作,否则你会太忙。

在我看来,更好的子模块用例是管理关键库的依赖关系,而不是一堆网站或应用程序的包。

我的建议:

  1. 使用GIT只管理自己的代码。
  2. 对于外部库:
    1. 使用框架/语言的包管理工具,如Gemfile for Rails,npm for Node。
    2. 如果没有这样的工具可用,我更愿意创建一个脚本来从Github中提取适当版本的库,然后将此脚本保存在版本控制中。
    3. 如果使脚本仍然很麻烦,只需编写一个纯文本文件来记录您使用的库的版本,并保持此文件版本的控制。当需要升级时,请手动升级必要的。虽然这看起来有点多,但我认为它比子模块更简单。
+0

值得一提的是Twitter的[鲍尔(http://twitter.github.io/bower)是*管理引导 – 2013-04-27 15:09:42

+0

感谢伟大的*,我会考虑的凉亭,我注意到它,但我不想安装一百万个shell脚本,忘记我下载了什么,为什么以及我如何使用它们。我可能会有其他库管理,我只是从bootstrap开始,但是可能是我想要的。 – alyda 2013-04-28 23:19:29

0

它看起来像我希望的解决方案其实Bower。谢谢,David