git和github简介(上)
本文摘自 勾三股四 更早时期的 不老歌 博客。
在此贴上本人在Web标准化交流会6月25日北京站的主题分享
在线PPT:http://jinjiang.github.com/slides/learning-git/
PPT源码:https://github.com/Jinjiang/slides/tree/gh-pages/learning-git
自我介绍
- 赵锦江(勾三股四)
- Tags: maxthon/f2e/music/football
- QQ: 110698041
- E/M: zhaojinjiang@yahoo.com.cn
- Blog: http://bulaoge.net/?g3g4
- Weibo: http://weibo.com/mx006
目录
- 什么是 git?
- github.com 及“开源”文化
- 如何运用 git?
- 创建自己的程序
- 获取别人的程序
- 改良别人的程序
- 后续学习和实践推荐
- 交流讨论
什么是git?
git 简介
git是一种分布式版本控制系统
- 开发者工具
- git 并不是一门语言、一个概念或一种“最佳实践”
- 版本控制系统
- 结点:每年为家里的小孩拍一张照片
- 分布式系统
- 没有服务器和客户端的区别,安全、完整。
我们为什么需要版本控制
- 自由发挥!自由分支!自由分享!
- 与开源、自由的精神相吻合!
git从何而来?
- Linux 内核代码管理程序
- git 是由 Linux 内核的的创始人 Linus Torvalds 创造的。事实上,git 是 Linus 为管理 Linux 内核的代码而建立起来的。他看过了现成的几个源代码管理系统,得出的结论是,没有一个系统是足够快的。所以他自己建立了一个这样的系统。
git的特点
- 小巧而快速
- 真正的分布式
- 临时区域(staging area)设计很贴心
- 可以和 github 完美结合
- WhyGitIsBetterThanX.com
github和“开源”文化
“开源”文化简介
- 自由(linux core) / 开源(firefox) /
免费(msn) - 自由软件运动 和 开源运动
- 舞台:互联网 (邮件列表、wiki、论坛、社区)
- 个人和公司都已经大量参与其中
- 团结就是力量!
- 催生了大量优秀的资源和产品
- webkit 就是开源中的典型
如何参与开源项目?
- 寻找优秀的社区和自己感兴趣的项目
- 看和学:了解情况,阅读代码
- 从小处着手,尝试修正 bug/issue
- 制作补丁 (patch)
- 熟悉版本控制技巧
- 遵循编码规范和项目规范
- 更进一步……
参与开源,更进一步……
- 参与项目讨论和项目管理
- 成为“固定成员”
- 建立/派生自己的分支或版本
- 从长计议
- 核心在于分享和付出,而不是索取!
谁在使用github.com?
git最佳实践讨论
git本地与远程的关系
如何运用git?
下载、发布、派生……
最简单的运用
在 github.com 上寻找并下载
自己想要的程序
搜索项目或开发者
关注 / 追随 / 下载
在github.com上淘金子
- 搜索关键字 | follow开发者 | watch项目
- 在线查看或预览
- 点击下载按钮、解压
这也算会用GIT啊 - -
安装和配置git
从基本的命令行开始
命令行常用命令
whoami
- 命令行里的"hello world"ls(dir)/cd/mkdir/rmdir
查看/进入/创建/删除目录cp(copy)/mv(move)/rm(del)
移动/复制/删除文件<cmd-name> -x --xxxx (/xx)
执行命令<cmd-name> -h --help (/?)
帮助信息
注:括号内为windows中的写法
安装git
- Mac:
http://code.google.com/p/git-osx-installer/ - Linux:
sudo apt-get git ...
- Windows:
选择安装git模块
cygwin目录结构
cygwin初始化
配置git
git config --global user.name "..." git config --global user.email ...
配置github账户:
http://github.com/guides/providing-your-ssh-key
继续查看下半部分