git操作详解

最近由于项目的需要,我需要负责整个项目的托管,其中涉及到很多Git相关的命令,所以就将之前用到的git相关的命令做了一个总结和归纳。由于开发环境是Linux,所以我接下来的操作命令均针对Linux环境。

git是一个开源的分布式的版本控制系统,主要用于项目的管理。

分布式:git使用分布式管理。即每个节点关系平等,都保存完整代码,节点之间相互推送或者下载代码。

集中式:有明确的中央服务器统一管理代码,每个节点都将代码上传中央服务器或者从中央服务器下载代码。

一、git安装准备与配置

1、git安装

$ sudo apt-get install git
$ git --version   查看当前git版本
复制代码

2、git的基本配置

2.1、系统中所有用户均使用的配置

命令:sudo git config --system
配置文件:/etc/gitconfig
e.g. 配置用户名
cassie@com:~$ sudo git config --system user.name Cassie
cassie@com:~$ cat /etc/gitconfig
[user]
	name = Cassie
复制代码

2.2、当前用户的所有项目均使用的配置

命令:git config --global
配置文件:~/.gitconfig

e.g. 配置用户邮箱
cassie@com:~$ git config --global user.email cassie@qq.com
cassie@com:~$ cat ~/.gitconfig
[user]
	email = cassie@qq.com
	name = 0513Cassie
复制代码

2.3、只在当前项目中使用的配置

命令:git config (命令只要在git项目文件夹中执行)
配置文件:project/.git/config

e.g.配置编译器
git config core.editor vscode
复制代码

二、git操作

下面这种图是我在网上看到的一张关于git操作总结的一张图,下面我将按照这张图片进行一个Git相关命令行的操作总结。

首先,对上图的几个概念进行讲解一下:

  • 工作区(workspace):通过自己的主机操作的git目录。
  • 暂存区(index):用来记录工作行为的,即所有的操作git的记录,作为一个暂时保存。
  • 本地仓库(Repository):本地用来备份同步工作区内容的区域。
  • 远程仓库(Remote):其他主机的git。

2.1、工作区、缓存区、本地仓库之间数据操作

初始化仓库

$ mkdir gittest
$ cd gittest
$ git init
复制代码

查看工作分支的状态

$ git status
* 当工作区和仓库没有任何差异的时候不会有任何提示
* 默认工作分支为master,可以通过创建新的分支进行切换
复制代码

文件提交到暂存区

$ git add [file]
$ git add *    # 全部提交
* 可以一次提交多个内容,中间用空格隔开
* 提交的内容可以是文件也可以是文件夹
复制代码

删除暂存区的记录

删除内容为文件:
$ git rm --cached 文件名称
删除内容为文件夹:
$ git rm --cached 文件夹名称 -r
复制代码

将暂存区记录的修改内容同步到本地仓库

$ git commit -m "message"
复制代码

查看提交日志

$ git log
$ git log --pretty=online  # 日志单行显示
复制代码

2.2、工作区操作

查看工作区文件和本地仓库的差别

$ git diff [file]
复制代码

放弃工作区的修改

$ git checkout -- [file]
复制代码

恢复本地仓库文件到工作区

$ git checkout [file]
复制代码

2.3、文件移动

删除工作区文件并提交到暂存记录

$ git rm [file]
复制代码

移动工作区文件并提交到暂存区

$ git mv file dir
复制代码

2.4、版本控制命令

回到之前的版本

$ git reset --hard HEAD^
* HEAD后面有几个^表示回到之前的几个版本
复制代码

通过commit_id回到指定的版本

$ git reset --hard commit_id
复制代码

查看操作日志

$ git relog
* 获取到操作记录后可以根据commit_id去往比较新的版本
复制代码

2.5、标签管理(属于本地仓库的操作)

创建标签

$ git tag v1.0
*默认会在最新的commit_id
复制代码

查看标签

git tag 查看所有标签
git show v2.0 查看某个标签的具体信息
复制代码

在某个指定的commit_id处打标签

$ git tag v1.0 [commit_id]
复制代码

恢复标签时的状态

$ git reset --hard v1.0
复制代码

删除标签

git tag -d v2.0
复制代码

3、常见问题

3.1、git reset --hard commit_id 误操作如何回到之前的版本

注意git log 命令是查看提交日志,所以如果我们进行上面的回到之前的版本在git log里面是无法查看commit_id的,这时候我们就需要使用 git reflog命令。注意:git reflog命令是查看操作日志的,在这里我们可以查到所以操作的详细信息,拿到commit_id 之后,通过git reset --hard commit_id这个命令回到指定版本即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值