关于Git的详解


前言

这里给大家总结一下常用的git命令、如何把新项目提交到代码仓库以及如何配置公钥和私钥

一、配置用户名和邮箱

我们要给仓库提交代码,第一步就要配置用户名和邮箱,在我们需要上传的代码文件中,打开终端进行配置:

git config --global user.name 'XXX'
git config --global user.email 'XXX'

在这里插入图片描述

其中用户名和邮箱要和仓库的一致,如下:

在这里插入图片描述

二、本地操作

2.1、git init初始化

git init

配置完用户名和邮箱后,我们需要初始化一下,执行完git init 代码后,你本地代码的文件后面将会出现一个大写字母"U",以及在文件夹中出现一个".git"文件代表这一步成功了,有了这个".git"文件,代表我们项目可以使用git了

注意:有的人可能看不到这个".git"文件,是因为设置了隐藏,百度一下打开隐藏的文件夹就可以了,这里就不啰嗦了
在这里插入图片描述
在这里插入图片描述

2.2、git add把代码提交到暂存区

这里我们要注意,git add . 是提交全部文件夹中的内容(空文件夹除外),我们也可以用 git add 文件名来提交单独的某个文件

git add .   //或者  git add XXX

执行完这一步后,文件夹后变成大写字母"A"的话,表示我们提交的代码现在在暂存区
在这里插入图片描述

2.3、git commit -m "注释"将代码提交到本地仓库

我们可以通过git commit -m "注释",将代码提交到本地仓库,注意,这里的注释要写的越详细越好,方便后期项目中的版本回退,不要偷懒不写哦~

我们执行完这一步以后,当页面中的大写字母消失,说明成功了
在这里插入图片描述

2.4、git status查看git的状态

如果我们把修改过的代码都提交了的话,执行git status以后,会提示我们nothing to commit, working tree clean(无需提交,工作树干净),如果还有代码修改了,没提交的话,则会提示我们需要再 git add一下,并且文件后边将提示大写字母"M",这时我们在git add 文件名一下该文件即可。

在这里插入图片描述

2.5、git diff查看版本差别

这行代码如果是你已经全部提交了代码,执行的话不会有返回,但是如果你有修改代码,但是还未提交的话,执行该代码即可看见差别

在这里插入图片描述

2.6、 git log或 git log --pretty=oneline查看版本信息

执行该代码后,即可看见我们之前提交过的版本,也可以用git log --pretty=oneline,git log
–pretty=oneline其实就是格式化一下,该代码的用途是方便后期做版本的回滚

git log
在这里插入图片描述
git log --pretty=oneline在这里插入图片描述

2.7、git reset HEAD^以及git reset --hard 版本号 版本回退

这里比较绕,需要理解记忆

我们做版本回退的时候可以用 git reset HEAD^实现,回退几个版本就在git reset HEAD后加几个"^"符号即可,这时候我们只是版本回到了我们退回的版本,但是页面的代码并没有回去,我们需要配合 git checkout让页面的代码也回到我们退回的版本

在这里插入图片描述

但是这个方法并不好用,因为要执行两次才能使页面代码回退,还有一个更简单的方法git reset --hard 版本号可以直接使我们的页面代码也回退到我们需要的版本

在这里插入图片描述

这时候我们在 git log --pretty=oneline查看版本号的时候会发现少了一个,少的就是我们退回的那个版本

在这里插入图片描述

但是,万一我们版本退回错了应该怎么办呢?别慌,也有方法,首先我们先看我们的控制面板是否关闭了,没有关闭的话,我们可以查看是否还有之前查看版本号的记录,如下:
注意:这时候再执行git log --pretty=oneline代码也找不到我们退回的版本号,只能看有没有记录

在这里插入图片描述

如果我们还有之前的记录,那我们直接执行git reset --hard 版本号即可恢复,不放心的话可以git log --pretty=oneline 看一下是否又多了一条刚才退回的版本

在这里插入图片描述

如果我们运气很不好,没有了之前的记录应该怎么退回呢?我们可以用git reflog
来查看所有的历史版本,然后找到我们不小心回退错的版本号,然后执行git reset --hard 版本号即可恢复

在这里插入图片描述

2.8、git reflog 查看所有的历史版本

用来查看所有的历史版本,方便版本退回使用

三、分支操作

3.1、git branch 查看分支

可以用来查看我们有哪些分支,并且我们现在在那个分支上(*好在哪代表我们目前在哪个分支),master是主分支,一般来说不会再主分支上做开发,需要开发人员建立自己的子分支进行开发工作。

在这里插入图片描述

3.2、git branch XXX 创建子分支

我们可以通过git branch 分支名 来创建自己的子分支

在这里插入图片描述

3.3、git checkout XXX 切换到子分支

我们可以通过git checkout 分支名 来切换到自己的子分支

在这里插入图片描述

3.4、git checkout -b XXX 创建并切换到子分支

我们可以通过git checkout -b 分支名 来创建并且切换到自己的子分支,这样更简洁方便

在这里插入图片描述

3.5、git merge 被合并的分支名 合并分支内容

注意:这一步操作需要我们先回到你想最后合并上去的分支上后再进行操作,

比如:我们在dev2分支上进行了代码的修改以后,我想合并到主分支,那我要先切换到主分支上,这时候页面代码会变成主分支的,并没有我们修改后代码,然后再通过git merge 被合并的分支名 将dev2分支的代码合并过来,合并到主分支上。

在这里插入图片描述

3.6、git branch -d 要删除的分支名 删除分支

通过git branch -d 要删除的分支名我们可以实现删除我们想要删除的分支

在这里插入图片描述

3.7、git log --graph --pretty=oneline 查看分支记录

可以通过git log --graph --pretty=oneline来查看我们对分支的一些操作记录

在这里插入图片描述

3.8、git clone 代码仓库链接 拉取完整的远程仓库的代码

如果配置了公钥和私钥,那么也可以用"SSH"中的链接进行拉取代码,没有配置的话就用"HTTPS"中的链接进行拉取,这个比较好理解,这里就不对做赘述了。

在这里插入图片描述

3.9、 git pull origin 远程分支名 或 git pull 用来拉取仓库代码

这一步一般使用在 git addgit commit -m ""后,我们需要先拉取远程仓库的代码到本地,解决代码的冲突

3.10、 git push origin <分支名> 或 git push 用来把本地合并好后的代码推向到远程仓库

注意:一般都是先拉取代码git pull --rebase origin 远程分支名 或 git pull 合并解决完代码冲突后再推向到远程仓库,如果没有解决完代码冲突,不要推向仓库,简单记就是:先pull再push,先拉再推

四、远程仓库关联(配置SSH公钥)

关联远程仓库我们首先需要生成密钥对,不生成密钥对其实也可以,但是再我们每次上传代码的时候会让你输入账号密码,会很麻烦。

第一步:我们通过ssh-keygen -t ed25519 -C "仓库绑定的邮箱"来生成公钥和私钥

在这里插入图片描述

第二步:根据路径找到这两个文件:

在这里插入图片描述

第三步:然后我们把".pub"文件通过VScode打开,将里面的内容复制到git仓库中的SSH公钥中

在这里插入图片描述

第四步:复制完成后点击"确定"后输入密码(你登陆该仓库的密码)成功后完成配置。

在这里插入图片描述

五、本地代码如何上传到远程仓库

注意:前提是你已经配置好了配置用户名和邮箱没有配置的话请看本片文章一条 配置用户名和邮箱

1、现在git仓库中新建一个仓库
如下: 我这里创建的是私有的仓库,根据自己的情况,也可以设置成开源

在这里插入图片描述

2、通过git remote add origin +仓库路径把本地代码和远程仓库链接起来,

在这里插入图片描述

3、然后就使用以下代码把本地代码提交到暂存区

  • 使用 git add .("."表示所有的)或 git add 文件名,将文件保存到暂存区
  • 使用git commit -m '新添加的文件内容描述':把代码提交到本地仓库,注释要写完整
  • 使用git push -u origin master ,将本地仓库推送到远程仓库,只有第一次提交到仓库的时候加-u,后期开始开发的时候再提交代码就只用git push即可
    在这里插入图片描述

4、执行完以上代码后,我们就能在仓库看见我们提交的代码了

在这里插入图片描述

六、总结一下提交代码的流程

可能有的小伙伴已经乱了,我下面总结一下哈~

  • git status :查看自己写了哪些东西。
  • git add .:把代码提交到暂存区,提交全部代码,或者git add XXX提交单独的文件也可以
  • git commit -m " ":把代码提交到本地仓库,详细描述本此提交的代码,不能偷懒哦
  • git pull origin远程分支名:拉取代码仓库中的代码带本地,这时候可能会有代码冲突,要先解决冲突再进行下一步,如果执行了这一步后没有代码冲突,那么可以直接执行这一步,如果有代码冲突,则我们需要重复git add .git commit -m " "后执行下一步
  • git push origin <分支名>:把合并好后的代码推向远程仓库
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值