git常用命令总结

来源:互联网 发布:婚礼app软件 编辑:程序博客网 时间:2024/05/07 00:39

现在git已经是很常见的代码管理工具了,我也已经使用了很久,但一直没有系统学习过,总是导致很多命令都是乱用,不明白含义,今天就系统的总结一下git常用的命令,以便以后查看。

git模块说明

git对于代码的管理分为了四个模块,分别是本地工作区暂存区本地仓库远端仓库。git的命令都是基于这四个工作区来进行改变的,下面一一简单说下个人的理解。

本地工作区:就是工程目录,比如我是使用idea,用idea打开git工程以后,对于所有的代码修改,就是记录在本地工作区。

暂存区:当修改代码以后,改变的这部分代码是保存在本地工作区的,使用了git add命令以后,所有发生的改变都会保存在暂存区中,便于后续的commit操作。

本地仓库:使用git commit命令会把在暂存区的内容提交到本地仓库,这里会生成一个commit标示,commit以后就说明代码已经保存好了,但此时别人是看不到你新修改的内容的。

远端仓库:使用git push命令以后,会把本地仓库中的内容push到远端仓库,这样以来别人就能看到你修改的内容了。

下面记录几个我在使用过程中一直没有搞明白的问题。
PS:这篇文章不会记录每个git命令的用法和含义,仅仅是记录几个我在使用过程中的觉得容易混淆的命令。

使用git checkout 新建分支

git checkout -b branchName 基于当前分支新建一个分支,名字是branchName,这里要注意是基于当前分支的,之前我在这里一直遇到问题。

git checkout -b newBranchName branchName 基于branchName分支创建一个新的分支,名字为newBranchName。

下面附上一个删除远端分支的指令。

git push origin :branchName
删除远端分支branchName,这个命令有点奇怪,它的意思是用我本地的空分支覆盖到远端的指定分支,当然就是删除了。

git reset和git revert的区别

两者都是回滚,撤销的意思,但是含义确大不相同。

git reset commitID 否认历史,commitID以后的提交将被全部删除,并且不能恢复,git官方文档上面特别说明,在任何时候,都不应该使用reset一个commit。

git revert commitID 将当前commitID对应的修改全部清除并且提交,这个时候会新产生一个commitID,这个操作并不会删除其他的commit记录,是安全的,也就是如果你想基于commit去做回滚操作,一定要使用revert而不应该使用reset。

使用git reset 命令撤销本地修改

git reset命令是撤销暂存区的内容,本地工作区会保留所有的修改,便于再次add操作。

git reset –hard 不但会撤销暂存区中的内容,也会撤销本地工作区的内容,也就是还原到开始状态。

注:git reset只能操作已经tracked的文件,具体哪些是tracked哪些是untracked得文件,可以使用git status进行查看。

对于untracked的文件,我们可以手动进行删除,也可以使用git clean进行删除。

其他的执行都比较简单,这里就不一一列出了。

上面都是我个人的理解,如有错误的地方欢迎各位大侠指正。

0 0
原创粉丝点击