Git 常用操作

说明

目前来说,无论是从事哪一个方面的开发,都是离不开通过git进行版本控制的,在本篇博文当中主要记录一下git的常用操作。

软件安装

在这里以windows为例,想要使用git,首先需要到官方网站下载相应的安装包。
点击这里进入官网查看具体内容。
git官方网站
进入官网点击下载安装即可。

本地仓库初始化

下载安装好git之后,在鼠标的右键菜单中,会多出两个选项,如下:
安装好git之后的右键菜单
点击Git Bash Here就可以打开git在windows中所提供的终端。
git终端
确认安装好之后,就可以找一个地方创建一个文件夹,并且在文件中点击鼠标右键,选择Git Bash Here打开终端,输入git init命令,即可在本地初始化git仓库。
git仓库初始化
初始化完成后就会在文件夹中创建出一个.git目录,这个目录就是git在本地创建的仓库。

工作区、暂存区

一般来说,当使用git初始化完成之后,本地的文件夹就变成了工作区,而在文件夹中除了工作区、本地仓库以外,还存在一个暂存区。

一般来说,git操作的流程都是先将工作区中的代码添加到暂存区,然后再存入到本地的代码仓库。

将文件添加到本地仓库的基本步骤

想要将文件添加到本地仓库,需要通过下面的两条命令来完成:

  • git add 命令 将文件存入到暂存区
  • git commit 命令将暂存区的文件存入到本地仓库

git add命令后面可以写上要存入暂存区的文件名,例如想要将a.txt存储到暂存区,就可以输入命令git add a.txt

如果一次性存入的文件比较多,也可以通过git add *的形式来将当前目录内的所有改变的文件一次性的存入到暂存区。

通过git add * 来添加文件,就会导致全部的文件都被选中,如果想要忽略某些文件,可以创建一个.gitignore文件,然后将需要忽略的文件写入到.gitignore文件当中去。

git commit命令用来将暂存区的文件存入到本地的仓库,一般来说后面需要搭配参数-m 用来添加备注信息。
例如:

git commit -m 'first push'

经过git add命令和git commit两条命令的操作,本地工作区的文件就已经可以顺利的存入到本地的仓库当中。

也可以将两条命令合在一起执行,例如git add * && git commit -m "备注"

查看当前工作区状态

如果想要查看当前工作区中哪些文件是新增文件,或者查看修改的文件等等,都可以通过git status命令来查看。

查看工作区文件状态
一般来说,通过git status命令,可以查看目录当中的文件处于什么样的状态,如果是类似上面的内容提示,则表示文件还在工作区当中,需要提交到暂存区,可以通过上面的git add命令将文件提交到暂存区。

提交到暂存区后,再来通过git status命令来查看就会变成下面的状态:
文件存入暂存区
之后就可以通过git commit命令来将文件提交到仓库当中。当目录当中的全部文件都提交到仓库当中之后,git status命令查看到的结果如下:

文件提交到仓库当中

.gitignore 忽略文件

如果在工作区当中,某些文件或者文件夹不需要提交到仓库当中,那么可以创建一个.gitignore文件。将不需要提交到仓库当中的文件或者文件夹记录在.gitignore文件当中就好。例如:

target          //忽略这个target目录
angular.json    //忽略这个angular.json文件
log/*           //忽略log下的所有文件
css/*.css       //忽略css目录下的.css文件

如果是一个前端的项目,较为常见的例如node_modules目录就可以写在这个文件当中,这样当提交文件的时候就会自动的忽略掉这个文件。

代码回滚

当某个文件在提交到仓库之后,如果想要将文件当中的内容回退到之前某次提交时的状态,可以使用下面的命令。

git reset --hard [GPL]

例如,a.txt中最开始的文件内容如下:
在这里插入图片描述
然后将a.txt提交到仓库后再次进行修改。

在这里插入图片描述
修改完成后再次提交。
这时如果想要恢复到最开始的初始状态该怎么办呢?

首先通过git log查看提交日志,获得GPL。如下:
加粗样式
查看到了GPL,就可以通过下面的命令恢复到第一次提交的状态:

git reset --hard 30f1c7

执行完命令之后,再来查看一下a.txt的状态:
在这里插入图片描述
如果想要再恢复到第二次提交的状态,可以通过git reflog命令查看到第二次提交的commit id,根据这个id来恢复到第二次修改的状态。
在这里插入图片描述

删除文件和恢复文件

此时如果在工作区中删除了一个已经提交到仓库的文件,此时有两种操作可以做,第一是通过仓库中的记录将工作区中的删除文件找回,第二种是干脆也将仓库中的记录删除。

在这还是以a.txt为例,这个文件已经被提交到了仓库中,现在将这个在工作区中的源文件删除。
然后查看状态。
在这里插入图片描述
此时git status命令查看后,对我们做出了提醒,运行现在有两种操作:git rm删除仓库中的文件,git restore恢复文件。

下面先来演示恢复文件。执行下面的命令:

git restore a.txt

执行完成之后,立刻可以在目录中查看到a.txt这个文件已经恢复了过来。
在这里插入图片描述
下面再来演示删除操作,首先再次将a.txt删除,然后通过git rm命令将仓库中的记录也删除掉。

在这里插入图片描述

创建分支

如果需要同时多人协同开发,那么分支是必不可少的,可以通过下面的命令来创建分支:

git branch 分支名

例如,创建一个名字叫做test1的分支:
git创建分支
在上面的图例中,通过git branch test1命令创建了分支test1,然后通过git checkout test1将分支从主分支切换到了test1分支。

也可以通过git checkout -b 分支名在创建分支的同时快速切换到新创建的分支身上。

创建并且切换分支除了使用git checkout -b命令也可以使用git switch -c 新创建的分支命令来实现。如果只是单纯的切换分支,也可以使用git switch 分支名来实现。

查看分支

如果想要查看当前存在的分支,可以通过下面的命令来实现:

git branch

效果如下:
查看分支

合并分支和删除分支

现在在test1这个分支上,创建一个hello.txt并且添加下面的内容并且将其提交到仓库。
在这里插入图片描述
然后切换回主分支,你会发现之前在test1分支上创建的hello.txt文件消失不见了。

如果想要在主分支master上查看到内容,可以通过将test1分支合并到当前主分支来实现。
git合并分支
合并分支之后,就可以在主分支master的目录查看到test1分支创建的hello.txt文件。
在这里插入图片描述
分支合并之后,就可以放心的删除掉test1分支了。
删除分支

分支冲突和解决冲突合并分支

在开发的过程中,经常出现分支冲突的问题,可以理解为同一个文件被两个分支同时修改,当合并分支的时候发生了冲突,git没办法帮助我们快速的合并分支,需要我们手动的进行处理。

首先,在主分支上创建一个一个test.txt,然后输入以下的内容并且提交。
在这里插入图片描述
然后创建dev并且切换到dev分支。
在这里插入图片描述
然后在test.txt里面加入一行内容并且提交。
在这里插入图片描述
操作完成后切换回主分支,并且在主分支上也对test.txt进行修改同时提交。
在这里插入图片描述
然后尝试合并分支,然后终端会提示如下的内容:
在这里插入图片描述
git给我们提示说合并失败,需要我们修复冲突然后重新提交。

这个时候,可以通过cat命令来查看文件内容。

在这里插入图片描述
这个时候,我们可以再次对test.txt进行修改。如下:

在这里插入图片描述
然后再次进行提交即可。
当然,在这可以通过git log加上参数来查看合并分支的情况,如下:

git log --graph --pretty=oneline --abbrev-commit

查看分支合并情况

生成SSH KEYS

如果想要让本地仓库的代码上传到代码托管平台,那么就需要生成SSH KEYS

在终端中执行下面的命令:

ssh-keygen -t rsa -C "你使用的邮箱"

注意: -C 是大写的C,不是小写的c。

命令执行完毕之后,生成的密钥位置在C/User(用户)/电脑用户名/.ssh目录下,通过记事本或者编辑器打开id_rsa.pub文件,将里面的代码全部的复制。

代码托管平台添加公钥

这里以码云为例,在网站个人页面设置里面,选择SSH公钥,然后添加标题,将复制的内容粘贴进公钥输入域内。
添加公钥

创建仓库上传代码

完成了上述操作后,就可以在代码托管平台创建一个仓库,然后本地连接远程平台,上传代码即可。
在本地终端执行下面的命令连接仓库。

git remote add origin https://gitee.com/用户名/仓库名.git

执行完成后,通过下面的命令就可以完成代码上传。

git push -u origin master

在提交的过程中,会让你输入用户名和密码。

如果不是第一次提交,就直接输入git push命令就好。

克隆代码和拉取代码

如果需要将一个代码库下载下来,可以通过下面的命令来完成。

git clone 项目仓库地址

拉取完成后进入到代码目录就可以通过git push上传代码,如果需要拉取最新代码,直接通过git pull命令即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值