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

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