对于Git与其他集中式代码管理工具相比的优缺点的全面讨论,请参见这里。这样的争论总是喋喋不休。作为一个开发者,与现今的其他开发工具相比较,我更喜欢Git。Git真得改变了开发者对于合并和分支的思考。我曾经使用经典的CVS/Subversion,然而每次的合并/分支和其他行为总让人担惊受怕(“小心合并里的冲突,简直要命!”)。 但是对于Git来说,这些行为非常简单和搞笑,它们被认为是日常工作中的核心部分。例如,在很多CVS/Subversion书里,分支与合并总是在后面的章节中被讨论(对于高级用户使用),然而在每个Git书中,在第3章就已经完全涵盖了(作为基础)。 简单和重复的特性带来的结果是:分支与合并不再是什么可以害怕的东西。分支/合并被认为对于版本管理工具比其他功能更重要。 关于工具,不再多说,让我们直接看开发模型吧。这个模型并不是如下模型:在管理软件开发进度方面,面对每个开发过程,每个队员必须按一定次序开发。
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com
更多信息可以参考:Git 起步
Inmi
, 推送到http://luxtone.red16.com:88/inmi.git
git init git add * git commit -m "" --allow-empty-message git remote add origin http://luxtone.red16.com:88/inmi.git git push -u origin master
Inmi
文件夹中已经创建本地仓库git remote add origin http://luxtone.red16.com:88/inmi.git git push -u origin master
在工作根目录中添加一个叫.gitignore
的文件,来告诉Git系统要忽略 掉哪些文件,下面是文件内容的示例:
# 以'#' 开始的行,被视为注释. # 忽略掉所有文件名是 foo.txt 的文件. foo.txt # 忽略所有生成的 html 文件, *.html # foo.html是手工维护的,所以例外. !foo.html # 忽略所有.o 和 .a文件. *.[oa] # 忽略.svn目录 .svn
Git 和 SVN 不同,仅仅跟踪文件的变动,不跟踪目录。可以在空目录下添加一个空文件, 常用.gitignore
或者 .gitkeep
find . -type d -empty -exec touch {}/.gitignore \;
clone-url
替换为真实SVN地址
git svn clone clone-url
git-flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作。 查看详情
develop
分支的。TopGit aims to make handling of large amounts of interdependent topic branches easier.
git - 简易指南 Git教程 git-flow 备忘清单 一个成功的Git分支模型 A successful Git branching model Pro Git git –fast-version-control GitHub Help TopGit - A different patch queue manager GitHub Flow Like a Pro with these 13 Git Aliases
Yan Peipan 06 December 2014