Git

1. Git简介

Git是目前世界上最先进的分布式版本控制系统

Linus大神为了解决Linux代码管理问题,在2005年花费两周时间用C编写了Git,此后迅速成为最流行的分布式版本控制系统。2008年,GitHub网站上线,它为开源项目免费提供Git存储,无数开源项目迁移至GitHub。

本文仅做Git最基本操作的学习,方便速查。详细教程请看廖雪峰Git教程

1.1 安装Git

进入官网下载Git安装包,直接默认安装即可。

打开CMD,输入git,测试是否安装成功。

2. 远程仓库

使用远程仓库,需要先配置SSH。

2.1 配置SSH

SSH用于身份验证,我们首先需要生成一个SSH密钥,然后添加到GitHub中。

  1. 打开Git Bash
  2. 输入以下命令生成一个ssh密钥:ssh-keygen -t rsa -C 'your email@example.com',一般情况下无需设置,一路回车就行。
  3. 输入命令cd ~/.ssh/,进入ssh文件夹。里面有两个文件,id_rsaid_rsa.pub,这两个就是SSH Key的密钥对。其中id_rsa是私钥,不能泄露!id_rsa.pub是公钥,可以公开使用。
  4. 将SSH公钥复制到剪贴板:clip < ~/.ssh/id_rsa.pub
  5. 登录GitHub,右上角点击个人头像,然后点击settings进入设置界面。
  6. 点击SSH and GPG keys,然后点击New SSH key,填上任意title,在Key文本框内粘贴id_rsa.pub文件的内容,点击Add Key,就成功添加SSH key了!

2.2 克隆远程仓库

首先需要在GitHub创建一个仓库,直接点击New repository,然后根据提示即可创建仓库。接下来我们将远程仓库克隆到本地,进行操作。

  1. 打开GitHub仓库界面,点击右边的clone or download,选择SSH方式,复制仓库地址。
  2. 打开Git Bash
  3. 输入git git@github.com:zero6996/Learn_Git.git,即可将远程仓库克隆到本地。

3. Git基本操作

  • 初始化git,将当前文件夹交由git管理:git init

  • 查看当前分支状态:git status

  • 提交到暂存区:git add <file>
  • 提交到仓库:git commit file -m "message"

3.1 配置用户信息

  • 配置全局用户信息:git config --system user.email youremail@email.com
  • 配置当前用户信息:git config --global user.name yourname

用户配置文件在.git/config

3.2 查看日志

  • 查看当前工作日志:git log
  • 查看历史工作日志:git reflog
  • 查看更改日志:git diff

3.3 回退版本

  • 退回到上N个版本:git reset --hard HEAD^,一个^代表退回一个版本,以此类推。

HEAD指向的版本就是当前版本

  • 退回到指定版本:git reset --hard commit_idcommit_id是指定版本号,举例git reset --hard cbc5fdb

3.4 文件操作

  • 移动文件:git mv movefile_name targetdir/
  • 删除文件:git rm filename,如果该文件已提交到版本库中,则直接删除版本库中文件。

4. 分支管理

4.1 分支基本操作

  • 查看分支:git branch
  • 创建分支:git branch <name>
  • 切换分支:git checkout <name>或者git switch <name>
  • 创建+切换分支:git checkout -b <name>git switch -c <name>
  • 合并某分支到当前分支:git merge <name>
  • 删除分支:git branch -d <name>

5. 标签管理

标签可以用于给版本库中的版本打标记,方便版本管理。

  • 命令 git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit_id。
  • 命令 git tag -a <tagname> -m 'message...可以指定标签信息。
  • 命令git tag 可以查看所有标签。

  • 命令 git push origin <tagname> 可以推送一个本地标签到远程

  • 命令 git push origin --tags可以推送本地全部未推送的标签到远程
  • 命令 git tag -d <tagname>可以删除一个本地标签
  • 命令 git push origin :refs/tags/<tagname>可以删除一个远程标签

  转载请注明: Zero的博客 Git

 上一篇
Hexo博客添加live2d动态模型插件 Hexo博客添加live2d动态模型插件
前言live2d动态模型插件是一款非常有意思的插件。 使用和安装helper-live2d动态插件,需具备以下前提条件: hexo博客,没有搭建的可以看我以前的文章《hexo+git搭建hexo个人博客》 Node.js环境和npm 插
2019-11-04
下一篇 
SSM整合Demo SSM整合Demo
1. SSM整合项目1.1 搭建环境 SSM整合可以使用多种方式,这里选择XML+注解的方式 整合思路 先搭建整合环境 把Spring的配置搭建完成 使用Spring整合SpringMVC框架 最后使用Spring整合MyBatis框架
2019-09-05
  目录