git和github简介(上)

本文摘自 勾三股四 更早时期的 不老歌 博客。


在此贴上本人在Web标准化交流会6月25日北京站的主题分享
在线PPT:http://jinjiang.github.com/slides/learning-git/
PPT源码:https://github.com/Jinjiang/slides/tree/gh-pages/learning-git

自我介绍

目录

  • 什么是 git?
  • github.com 及“开源”文化
  • 如何运用 git?
    • 创建自己的程序
    • 获取别人的程序
    • 改良别人的程序
    • 后续学习和实践推荐
  • 交流讨论

什么是git?

git 简介

git是一种分布式版本控制系统

  • 开发者工具
    • git 并不是一门语言、一个概念或一种“最佳实践”
  • 版本控制系统
    • 结点:每年为家里的小孩拍一张照片
  • 分布式系统
    • 没有服务器和客户端的区别,安全、完整。

我们为什么需要版本控制

  • 自由发挥!自由分支!自由分享
  • 与开源、自由的精神相吻合!

git从何而来?

  • Linux 内核代码管理程序
  • git 是由 Linux 内核的的创始人 Linus Torvalds 创造的。事实上,git 是 Linus 为管理 Linux 内核的代码而建立起来的。他看过了现成的几个源代码管理系统,得出的结论是,没有一个系统是足够快的。所以他自己建立了一个这样的系统。

git的特点

  • 小巧而快速
  • 真正的分布式
  • 临时区域(staging area)设计很贴心
  • 可以和 github 完美结合
  • WhyGitIsBetterThanX.com

github和“开源”文化

http://github.com/

“开源”文化简介

  • 自由(linux core) / 开源(firefox) / 免费(msn)
  • 自由软件运动 和 开源运动
  • 舞台:互联网 (邮件列表、wiki、论坛、社区)
  • 个人和公司都已经大量参与其中
  • 团结就是力量!
  • 催生了大量优秀的资源和产品
  • webkit 就是开源中的典型

如何参与开源项目?

  • 寻找优秀的社区和自己感兴趣的项目
  • 看和学:了解情况,阅读代码
  • 从小处着手,尝试修正 bug/issue
  • 制作补丁 (patch)
  • 熟悉版本控制技巧
  • 遵循编码规范和项目规范
  • 更进一步……

参与开源,更进一步……

  • 参与项目讨论和项目管理
  • 成为“固定成员”
  • 建立/派生自己的分支或版本
  • 从长计议
  • 核心在于分享和付出,而不是索取!

谁在使用github.com?

github里的语言排名

git最佳实践讨论

git最佳实践讨论

git本地与远程的关系

git本地与远程的关系

如何运用git?

下载、发布、派生……

最简单的运用

在 github.com 上寻找并下载
自己想要的程序

搜索项目或开发者

在github.com搜索项目或开发者

关注 / 追随 / 下载

在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:
    • msysgit
    • cygwin
      选择安装下列模块:
      devel → git
      editors → vim/nano
      即可运行cygwin.bat,在命令行下操作git
      若cygwin无法正常工作,请先执行下面操作:
      $ cygwin/bin/ash.exe
      $ /bin/rebaseall

选择安装git模块

安装cygwin 之 选择git模块

cygwin目录结构

安装cygwin 之 目录结构

cygwin初始化

安装cygwin 之 初始化

配置git

git config --global user.name "..."
git config --global user.email ...

配置github账户:
http://github.com/guides/providing-your-ssh-key



继续查看下半部分