一、git简介

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
优点是:适合分布式开发,强调个体;公共服务器压力和数据量都不会太大;速度快、灵活;任意两个开发者之间可以很容易的解决冲突;离线工作。
缺点是:代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息;权限控制不友好;如果需要对开发者限制各种权限的建议使用SVN。

二、命令详解

  • git克隆指定远端分支
    git clone -b dev(远程分支名) url(代码仓库地址 )

  • git拉取指定远端分支
    git pull origin dev(远程分支名)

  • 初始化本地仓库
    git init

  • 与远程仓库建立连接
    git remote add origin url(代码仓库地址)

  • 将远程分支拉取到本地
    git fetch origin dev(远程分支名)

  • git创建本地分支
    git checkout -b LocalDev(本地分支名) origin/dev (远程分支名)

  • 显示当前git配置
    git config --list

  • 编辑git配置
    git config -e [--global]

  • 设置提交git用户信息

    1
    2
    git config [--global] user.name "[name]"
    git config [--global] user.email "[email address]"
  • 从工作区移除未被追踪的文件

    1
    2
    3
    移除所有未被追踪的文件或目录:git clean -d -f
    可以用来做一次删除前的演示:git clean -d -n
    用于交互式的删除文件:git clean -d -i
  • 版本恢复还原命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commitindex信息。
    git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可。
    git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。

    使用示例:
    git reset HEAD^ //回退所有内容到上一个版本
    git reset HEAD^ a.py //回退a.py这个文件的版本到上一个版本
    git reset –soft HEAD~3 //向前回退到第3个版本
    git reset --hard origin/master //将本地的状态回退到和远程的一样
    git reset 057d //回退到某个版本
    git revert HEAD //回退到上一次提交的状态,按照某一次的commit完全反向的 行一次commit
  • 查看git提交后的状态
    git status

  • 切换分支
    git checkout master(目标分支)