git和github简介(上)

标签: git github 简介 | 发表时间:2011-06-26 10:40 | 作者:(author unknown) linyehui
出处:http://bulaoge.net/?g3g4
在此贴上本人在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



继续查看下半部分

相关 [git github 简介] 推荐:

git和github简介(上)

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

windows中使用Git工具连接GitHub(配置篇)

- king - 博客园-首页原创精华区
Git在源码管理领域目前占很大的比重了,而且开源的项目很多都转到GitHub上面了. 例如:jQuery, reddit, Sparkle, curl, Ruby on Rails, node.js, ClickToFlash, Erlang/OTP, CakePHP, Redis.. 本文详细的说明了如何在Windows下安装配置Git工具连接GitHub.

淘宝陈皓微博引发关于Git和GitHub讨论

- - InfoQ cn
2月18日,已经转战淘宝的著名技术人 陈皓发布了一条微博,对淘宝内部的共享开放平台提出自己的见解:. 今天了解了一下淘宝的共享开放平台,感觉面对阿里内各种特殊异化的业务的需求,再加上各种降权开关,性能优化,这个平台要干的事越来越复杂,承载的业务逻辑越来越多,越来越不好维护. 采用服务化模块化的解耦可以做到灵活性,但是还是不够.

所有学生都会用git和github的世界可能会非常美好

- Rick - Hello World
Git是版本管理工具的小字辈,但后生可谓,瞬间让所有前辈都黯然无光. github.com是项目托管网站的小字辈,但后来居上,现在已经成为开源软件首选的家. 不到一年前,几经朋友推荐,我才开始尝试了解它们,随后就被它们完美秒杀了. 本文并不想介绍它们的细节,网上有成群的资料. 在这里只想谈谈,假如计算机和软件相关专业的学生,如果从一入学就掌握了git的使用,并依靠github来管理自己所有的大小作业、课程设计、毕业设计和各种创新项目,那么我们的世界可能会变得非常美好.

Git基础

- Wolf - 潘魏增
上个月末在公司内部作了一次《Git基础》的主题分享. 这里把分享内容公布出来,希望对一些朋友有用. 如果之前没有接触过Git,wikipedia上面已经有非常好的介绍. pdf格式:http://panweizeng.com/download/git-basics-meituan.pdf. keynote格式:http://panweizeng.com/download/git-basics-meituan.key.

Git-rebase 小筆記

- lepture - YORKXIN×YORKXIN
最近剛好有個機會整理很亂的 Git commit tree,終於搞懂了 rebase 的用法,筆記一下. 大家都知道 Git 有個特色就是 branch 開很大開不用錢,但很多 branches 各自開發,總要在適當時機 merge 進去 master. 看過很多 git 操作指南都告訴我們,可以妥善利用 rebase 來整理看似很亂或是中途可能不小心手滑 commit 錯的 commits ,甚至可以讓 merge 產生的線看起來比較簡單,不會有跨好幾十個 commits 的線.

Git 简明教程

- satoru - python.cn(jobs, news)
Git 是一款强大的分布式版本控制系统.在他的官网可以找到已经有很多著名的项目正在使用. Like most other modern version control systems, Git gives each developer a local copy of the entire development history, and changes are copied from one such repository to another.

git架构图解

- - CSDN博客研发管理推荐文章
  最近又遇到Git了,发现网络上Git的资料确实不咋滴,难懂不全面. 至于Git是什么我就不多说了,相比svn上手确实更难. 与svn集中版本库相比较,Git被称作分布式版本库,在分布式的版本库中任何一个库都可以作为中心库看待. 如果说svn是颗树,那么Git就像一张网. Svn在每个目录都有一个.svn文件夹存放信息,而git只在根目录才有,这就决定了svn可以单独拉取某个子目录或者某个文件,而git需要全部拉取.

一些 Git 設定偏好

- dylan - ihower { blogging }
讓 command line 指令列顯示目前處在哪一個 Git Brnach,最早是在 RGBA 看到這一招,非常方便. 請修改家目錄的 ~/.bashrc 或 ~/.bash_profile 檔案:. 記得打開 Git 的 color 設定,這樣 Git 指令的輸出結果才會加上顏色,像是 git status 等:.

Git和Mercurial(Hg)的分析

- gOODiDEA - 译言-电脑/网络/数码科技
来源Analysis of Git and Mercurial. 原文地址:http://code.google.com/p/support/wiki/DVCSAnalysis. (译者注:Mercurial以下简称Hg). 注:这篇分析完成于2008年夏季,当时我们正第一次为Google Code支持DVCS而作的研究工作.