Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Learn git

Avatar for 李甘 李甘
February 21, 2013

Learn git

git初学简要教程

Avatar for 李甘

李甘

February 21, 2013
Tweet

More Decks by 李甘

Other Decks in Technology

Transcript

  1. 设计原则 • 速度 • 简单的设计 • 对⾮非线性开发模式的强⼒力⽀支持(允许上千个并 ⾏行开发的分⽀支) • 完全分布式

    • 有能⼒力⾼高效管理类似 Linux 内核⼀一样的超⼤大规 模项⺫⽬目(速度和数据量)
  2. Git 101 • git config • git clone/remote • git

    add/commit • git status • git log • ...
  3. git config • 使⽤用git第⼀一件事,设置你的⽤用户信息 • • git config --global 全局信息

    • 针对每个git仓库设置独⽴立的config(不加--global) • 编辑器,diff⼯工具,color设置等等 • git 配置 $ git config --global user.name "Gavin"! $ git config --global user.email [email protected]
  4. git add/commit • git ⼯工作区域 • ⼯工作区 • 暂存区 •

    版本库 • git add增加⽂文件到暂存区 • git commit 提交版本库 • 每次提交内容以⼀一句话 能说清为佳 git 不同⽂文件区⽰示意
  5. git log • git log 查看提交历史 • 本地可以查看所有提交历史 • git

    log -p 展开每次提交内容差异 • git log --graph(try it) • git log --pretty 以各种格式显⽰示log • 每个版本⽂文件清单,指定⽇日期,作者等(想得到的基本 都能做到)
  6. git reset • git reset 撤销某次提交 • --mixed 默认⽅方式,reset暂存区的提交 •

    --hard 完全还原版本,默认到HEAD • 可以使⽤用git reset --hard HEAD~回退到上⼀一版本(~ 代表parent
  7. git branch,merge • git branch hotfix • 创建分⽀支 • -d删除分⽀支

    • git merge hotfix(当前分⽀支是master) • fast-forward合并
  8. git checkout • checkout某个版本,⽂文件,分⽀支 • git checkout testing 签出testing分⽀支 •

    git checkout f6611 签出f6611的版本 • git checkout 123 从仓库中取出123这个⽂文件(会还原 ⼯工作区的该⽂文件)
  9. git与远程仓库 • git fetch origin • git pull origin •

    git fetch origin + git merge origin/master • git push 推送到远程仓库
  10. git pull is evil! • git pull —rebase • git

    pull —ff-only • git fetch