以前用git都是直接用idea里面的图形化操作git的基本功能,让我用git命令操作,我还真有点怕出错,但是了解git命令和git相关原理,也是必须的。对比一下IDEA使用git的操作和直接用命令操作,其实是一样的。不自己动手去试试,感觉会一直有点迷茫。总结一下git命令的简单使用。

git 命令入门

git的一些基本概念

工作区:用来编辑保存项目文件的地方,也是用户能直接操作到的地方。
暂存区:保存了下次将提交的文件列表信息,一般在 Git 仓库目录中,是一个叫index的文件,通常多数说法还是叫暂存区域;
版本库:也叫本地仓库,之所以说git 快,是因为它是分布式版本控制系统,大部分提交都是对本地仓库而言的,不依赖网络,最后一次push才会推送到远程仓库。
远程仓库:push的时候会推送到远程仓库
贮藏区:把工作区和暂存区的现场保存起来,并且工作区还原到上一次commit后没有修改的时候的文件
盗图

注:git里面可以保存代码的地方有四个,工作区(就是本地看到的文件),暂存区(用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息),贮藏区(临时保存本地的工作现场),本地仓库(保存commit的文件),远程仓库(保存在git服务器上的文件)

首先在IDEA里面修改了一个文件,可以看到IDEA的文件列表变蓝色了
在这里插入图片描述

1. 提交代码到本地分支的仓库

在idea的操作是
在这里插入图片描述
在这里插入图片描述
我们用命令行进行同样的操作
进入git控制台页面,输入
(1)git add .//
(2)git commit -m ‘提交代码’

注:

  1. git add .// 的 .//表示把工作去的所有修改过的目录文件放到暂存区
  2. git commit -m ‘提交代码’ 后面的 -m 是用来写注释的,可以不写直接git commit

和在idea中提交commit是等价的
在这里插入图片描述
在这里插入图片描述

2. 拉取远程分支的代码

在idea我们可以点击fetch或者pull来拉取代码
在这里插入图片描述
等价于我们在git中的命令
git fetch origin master
git pull origin master
在这里插入图片描述
在这里插入图片描述

git fetch 和 git pull 之间的区别:

  • fetch可以拉取远程分支最新的提交,但是不会合并我们的代码,在IDEA的log可以查看到,pull会拉取代码并直接合并到我们的工作去
  • git fetch 是仅仅获取远程仓库的更新内容,并不会自动做合并。
  • git pull 在获取远程仓库的内容后,会自动做合并,可以看成 git fetch 之后 git merge。
  • 注意: git push -u origin master,第一次使用时,带上 -u 参数,在将本地的 master 分支推送到远程新的 master 分支的同时,还会把本地的 master 分支和远程的 master 分支关联起来。
3. 撤销已提交的commit

在idea中撤销commit
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

撤销上两次的commit :HEAD~2或者HEAD^^

等于于git的命令
git reset --mixed HEAD^
git reset --soft HEAD^
git reset --hard HEAD^
执行完git reset --mixed HEAD^命令后在idea可以看到已经撤销了刚刚的commit,文件又变回未提交的蓝色了

mixed 相当于代码保留,撤销git commit,同时撤销git add,代码回到未暂存区
soft相当于代码保留,撤销git commit ,不撤销git add,代码回到暂存区
hard不保留代码,撤销git commit,同时撤销git add,回到了上一次commit的状态

在这里插入图片描述
在这里插入图片描述

4. 修改上一次commit的注释

git commit --amend 就会弹出vi的编辑器,可以用vi命令修改
在这里插入图片描述
在这里插入图片描述

如果commit还没有推送到远程分支,可以直接修改注释,不会形成新的commit,已推送的话会形成新的commit

5.贮藏区的使用

这个也是经常会用到的功能,贮藏区可以把项目,所有修改过的文件会被临时保存到贮藏区,还原到上一次commit时的状态。在idea里面用git就会知道,如果有同事修改了和你相同文件并且比你先推送到仓库,这时时候你就会pull失败,你可以revert这些文件,也可以git stash后再pull,我一般是先git stash后再pull,最后
unstash change出来merge。

在idea中的操作
在这里插入图片描述
在这里插入图片描述
执行完之后在idea可以看到没有蓝色的待提交文件了,还原到了上一次的commit时,这些待提交的代码文件保存到了贮藏区
在unstash change中恢复贮藏区代码文件
在这里插入图片描述
在这里插入图片描述
上面的操作等价于git命令
git stash save ‘保存到贮藏区’
git stash pop
git stash list
git stash show stash@{num}
git stash clear
git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
在这里插入图片描述
执行完这个命令后可以看到在idea中蓝色的文件都不见了,在贮藏区可以看到刚刚在命令中提交的贮藏
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.切换分支

这个也是经常用到的功能
在idea
在这里插入图片描述
等价于 git checkout 分支名称
在这里插入图片描述

可以看到在git命令和在idea中图形化操作git是一样效果的

我这里只是简单总结,主要总结一下具体怎么用,git命令大全的参考这位大佬的这篇文章,说的很详细
常用Git命令使用教程

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐