git 快速入门

版本控制

  1. 集中化的版本控制系统

  2. 分布式版本控制系统

  3. 区别

    • 无网络,用 svn,不能向数据库提交修改
    • 控制文件方式
      _ svn:随时间逐步增加 _ git:快照流
  4. git 的三种状态

cli 基本操作

  1. 服务器端创建项目

  2. 克隆项目

1
2
3
4
5
6
shixinghao@SC-201611201637 MINGW64 /e/my_work/github
$ git clone git@github.com:eminoda/hello-git.git
Cloning into 'hello-git'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
  1. 检查状态
    已跟踪、未跟踪
1
2
$ git status -s
$ git diff
  1. 提交

    1
    2
    3
    4
    $ git commit -m 'init'
    [master 4618f45] init
    1 file changed, 0 insertions(+), 0 deletions(-)
    create mode 100644 index.txt
    1
    2
    shixinghao@SC-201611201637 MINGW64 /e/my_work/github/hello-git (master)
    $ git commit -a -m 'init'
  2. 移除文件
    提交区删除

    1
    2
    rm index.txt
    $ git rm index.txt

    暂存区删除

    1
    $ git rm -f index.txt
  3. 撤销
    覆盖提交

    1
    2
    3
    $ git commit -m 'initial commit'
    $ git add forgotten_file
    $ git commit --amend

    撤销暂存区

    1
    $ git reset HEAD 2.txt

    还原至上次提交版本

    1
    $ git checkout -- 2.txt

分支管理

  1. 新建分支

    1
    $ git branch v1.0
  2. 切换分支

    1
    $ git checkout v1.0
  3. 分支移动

  4. 分支应用

合并 merge

{% asset_img 12.png 开始 %}
{% asset_img 13.png 处理新业务53 %}
{% asset_img 14.png 提交53 %}
{% asset_img 15.png 在主分支新建bug %}
{% asset_img 16.png fix后merge到master %}
{% asset_img 17.png 53继续进行 %}
{% asset_img 18.png 53 merge到master %}

变基 rebase

{% asset_img 19.png start %}
{% asset_img 20.png git rebase master %}
{% asset_img 21.png git merge experiment %}

GUI 基本操作

  1. clone

  2. add/commit/ignore

  3. branch

帮助文档

  1. git download
  2. tortoiseGit download
  3. git 在线操作
  4. git 中文文档

代码托管平台

  1. github
  2. coding
  3. csdn
【长按关注】看看↓↓↓?
Eminoda wechat
【前端雨爸】分享前端技术实践,持续输出前端技术文章
欢迎留言,评论交流,一起讨论前端问题