赞
踩
以前用git都是直接用idea里面的图形化操作git的基本功能,让我用git命令操作,我还真有点怕出错,但是了解git命令和git相关原理,也是必须的。对比一下IDEA使用git的操作和直接用命令操作,其实是一样的。不自己动手去试试,感觉会一直有点迷茫。总结一下git命令的简单使用。
工作区:用来编辑保存项目文件的地方,也是用户能直接操作到的地方。
暂存区:保存了下次将提交的文件列表信息,一般在 Git 仓库目录中,是一个叫index的文件,通常多数说法还是叫暂存区域;
版本库:也叫本地仓库,之所以说git 快,是因为它是分布式版本控制系统,大部分提交都是对本地仓库而言的,不依赖网络,最后一次push才会推送到远程仓库。
远程仓库:push的时候会推送到远程仓库
贮藏区:把工作区和暂存区的现场保存起来,并且工作区还原到上一次commit后没有修改的时候的文件
注:git里面可以保存代码的地方有四个,工作区(就是本地看到的文件),暂存区(用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息),贮藏区(临时保存本地的工作现场),本地仓库(保存commit的文件),远程仓库(保存在git服务器上的文件)
首先在IDEA里面修改了一个文件,可以看到IDEA的文件列表变蓝色了
在idea的操作是
我们用命令行进行同样的操作
进入git控制台页面,输入
(1)git add .//
(2)git commit -m ‘提交代码’
注:
- git add .// 的 .//表示把工作去的所有修改过的目录文件放到暂存区
- git commit -m ‘提交代码’ 后面的 -m 是用来写注释的,可以不写直接git commit
和在idea中提交commit是等价的
在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 分支关联起来。
在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的状态
git commit --amend 就会弹出vi的编辑器,可以用vi命令修改
如果commit还没有推送到远程分支,可以直接修改注释,不会形成新的commit,已推送的话会形成新的commit
这个也是经常会用到的功能,贮藏区可以把项目,所有修改过的文件会被临时保存到贮藏区,还原到上一次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中蓝色的文件都不见了,在贮藏区可以看到刚刚在命令中提交的贮藏
这个也是经常用到的功能
在idea
等价于 git checkout 分支名称
我这里只是简单总结,主要总结一下具体怎么用,git命令大全的参考这位大佬的这篇文章,说的很详细
常用Git命令使用教程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。