GIT

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git下载与安装

1. Git下载地址:

https://git-scm.com/downloads

2. Git的安装

安装Git只需要一路“下一步”,至到安装完成即可!

安装完成后,首先做一下基础配置

第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:

$ git config --global user.name "Username" ##用户名
$ git config --global user.email code@example.com #配置邮箱

查看配置信息

git config --list

Git常用命令

  • git --version 查看git版本
  • git init #初绍化一个仓库
  • git remote add origin # 将本地的仓库和远程仓库关联
  • git pull origin master #将远程仓库的东西拉下来,与本地仓库合并
  • git push origin master #将本地项目推送到远程创库
  • git add . #添加跟踪文件
  • git commit -m "提交的信息" # 将文件存进暂存区
  • git push -u origin master # 提交到远程仓库
  • git clone #远程仓库地址
  • git rm <filename> #删除文件或者文件夹

克隆一个项目

在这里来克隆一个咱们之前做过的项目
码云:https://gitee.com/jingyifeng/phpexcel-thinkphp5.git

git clone https://gitee.com/jingyifeng/phpexcel-thinkphp5.git (自定义项目名称)

同步项目(获取最新项目)

git pull

以下内容是扩展内容,本套课程中用不到,有兴趣的可以做一下了解

版本穿梭/版本回退

如果文件已经被commit,可以通过git reset --hared HEAD

  1. 版本回退:
git reset --hard HEAD  #回退到当前最高版本
git reset --hard HEAD^ #回退到上一版本,回退两个版本 用 ^^
  1. 回退到指定版本
git reset --hard 版本号前七位或者版本号  # 回退到指定版本

如果文件没有被commit时

  1. 回退到当前最高版本
git reset --hard HEAD 
  1. 检出当前分支的最高版本
git checkout 文件
#在git中 checkout可以做revert操作,也就是版本回退。

查看历史版本

git log #日志
git reflog #查看修改参考日志

格式化日志输出信息

format,可以定制要显示的记录格式,这样的输出便于后期编程提取分析

$ git log --pretty=format:"%h - %an, %ar : %s"
    ca82a6d - Scott Chacon, 11 months ago : changed the version number
    085bb3b - Scott Chacon, 11 months ago : removed unnecessary test code
    a11bef0 - Scott Chacon, 11 months ago : first commit
选项

选项 说明
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明

使用图形化工具查阅提交历史 gitk

有时候图形化工具更容易展示历史提交的变化,随 Git 一同发布的 gitk 就是这样一种工具。它是用 Tcl/Tk 写成的,基本上相当于 git log 命令的可视化版本
凡是 git log 可以用的选项也都能用在 gitk 上