Git基本使用
前言
曾经稍微学习过一点git,对git稍微有一点认识,但也仅仅是知道他是干嘛的。本笔记主要用来记录一下git的常用命令和功能以及我的一些个人理解。
什么是git
对于什么是git,官方文档是这样介绍它的:
Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.
总结下来,git是一个可扩展的、分布式的版本控制系统。
安装git
通过官方下载网站下载相应安装包正常安装,当鼠标右键出现Git Bash Here
时即为安装成功
对于Debian/Ubuntu等一些常见的Linux发行版,可以直接通过默认的包管理工具进行安装,参照官方Linux安装指南
也可以通过源码进行安装,源码安装方式如下:
在该镜像网站下载对应版本的git源码,然后./configure prefix=/usr/local/git/
,然后make && make install
,最后将git指令添加到环境变量即可
安装完git之后,必须配置用户名和邮件,配置方式如下(二选一即可):
- 使用命令行
1 | git config --global user.name "Your Name" |
- 编辑 ~/.gitconfig 或者 /etc/gitconfig 文件
1 | [user] |
创建git仓库
进入到要创建仓库的目录下
- 输入
git init
即可创建一个空仓库 - 输入
git add [文件名]
即可把文件写入暂存区(文件名支持通配符,如*.cpp) - 输入
git commit -m [提交原因]
即可把暂存区修改写入当前分支
注:可以add多次后进行commit,一次commit即可把暂存区全部修改提交到当前分支版本库
版本控制
状态查看
git status
命令可以查看工作区的状态,也可以查看哪些文件被修改了
git diff
命令可以查看文件修改的具体内容,但是无法查看二进制文件如word文档,图片等的修改内容
版本回退
git log
命令可以查看提交历史commit id(版本号)、作者、邮箱、日期以及commit的原因,如果只想查看版本号以及commit原因,可以加上一个参数,使用如下命令git log --pretty=online
,常用于撤销操作
git reflog
命令可以查看命令历史的commit id等相关信息,常用于撤销后的重做操作
git reset --hard commit-id
命令可以使文件在不同版本之间跳转,需要注意的是,在git中 HEAD 表示当前版本,那么 HEAD^ 就表示上一个版本,HEAD^^ 就表示上上一个版本,如git reset --hard HEAD^
就表示回到上一个版本
撤销修改
git checkout -- [文件名]
命令可以丢弃工作区的修改,使用此命令会产生两种情况
- 该文件自修改后还未放到暂存区,那么执行此命令后该文件就回到了当前版本库(最后一次commit)的状态
- 该文件已经添加到了暂存区,那么执行此命令后文件就回到了暂存区(最后一次add)的状态
git restore --worktree [文件名]
命令可以将文件回到暂存区状态
git reset HEAD [文件名]
命令清除所有暂存区的内容,对工作区没有影响
删除文件
git rm [文件名]
命令可以将文件从版本库中删除
分支管理
一个分支下的修改不会影响到其他分支,所以往往使用一个dev分支做具体项目开发,该分支下又有多个子分支来实现不同的功能和细节,每当有一个具体的新版本发布,就将dev分支合并到master分支。master分支往往不会进行具体的操作,只是负责发布稳定版本
git branch
命令可以查看当前分支
git checkout -b [分支名]...
剩余内容已隐藏