git常用命令
新整理的git文档,之后可以再进行补充说明
快速入门
写了一会儿发现写的有点多,不一定有耐心可以看完,所以写一个快速入门,只有最基本的命令
- git clone 【项目地址】 --克隆到本地
- git add 【修改的文件】 --将我们修改的某个文件添加到索引库中
- git add . --将本地所有的更改都添加到索引库中
- git commit -m “你提交的summary” --提交到本地仓库
- git push --提交到远程仓库
- git stash save "你stash的一些 message" --暂存,这个命令在你开发多个项目切分支的时候特别好用,你可以把这些更改应用到新的分支(当你新建文件修改了代码,如果没有
git add
那么你用git stash
是不能保存修改到暂存区的,但是如果你没有新建文件,只是在原有文件里进行修改,那么是可以在没有git add
的情况下保存到修改到暂存区的。) -
git stash list --查看暂存区
-
git stash pop --这个也是很常用的一个命令,不带任何参数,会恢复最新的一个暂存版本
-
git stash apply 【暂存的版本】 --恢复指定的暂存版本
2. git pull --rebase 将远程的覆盖到本地
3. git mergetool 如果有冲突的话,使用解决冲突的工具进行解决,具体配置冲突解决工具可以进行百度,两个命令即可
4. git rebase --continue 解决完冲突之后,继续覆盖(为什么我要加 rebase,以及pull的时候也强制覆盖,因为这样不会产生merge更改集,这是一个很恶心的东西,如果需要对merge更改集之前的版本进行操作会很麻烦,而且merge更改集使用 - git revert 根本不管用)
5. git push --推到远程仓库
新建工程
一般我们都是已经有远程仓库了,从远程仓库进行克隆,以我们mms项目为例
从coding上找到我们的代码地址,复制,执行命令 - git clone xxx.git 即可
这样,代码就clone下来了。如果要对我们的项目进行操作,需要切换到该项目的.git目录下
也就是这个目录
之后,我们就可以使用git命令对该项目进行操作啦~~~
分支管理
查看分支
如果需要查看一下我们所在的分支,执行命令 - git branch 即可
- git branch
当然,你也可以在我圈起来的地方看到
如果要查看所有分支的话,那么只需要执行命令 - git branch -a 即可
这样就能看到我所有的分支了,*所在的是当前分支
切换分支
目前我们这里总有5个分支,如果我想去test-dev进行开发,那么我只需要执行 - git checkout test-dev 即可
- git checkout test-dev
新建分支
如果我们需要新建一个分支,只需要执行命令 - git checkout -b 【然后加上你的分支名即可,这个括号没有哦~】即可
比如我要新建一个分支名为 test-zq 的分支
- git checkout -b test-zq
你会发现我不仅新建了一个分支,还切换到这个分支了,这是因为这个命令其实是整合了 - git branch 【分支名】与 - git checkout 【分支名】这两个命令
当然,这个时候只是在你本地新建了一个分支,远程是没有的,也就是说,别人如果从远程clone下来代码是看不到你这个分支的,必须得推到远程分支才能够被其他人看到
使用命令 - git push origin 【分支名】即可
由于我这边只是做一个简单的演示,就不推了,不然还得再删除,如果后期有需要可以再进行补充
删除分支
一般大家应该很少用到,所以就暂时不写了,如果有需要后期可以进行补充
简单说一下就是删除分支的时候不仅要删除本地分支,还得删除远程分支
也就是说需要执行以下两个命令
- git branch -d 【分支名】
- git push origin --delete【分支名】
如果只是删除本地的,那么只需要执行第一个命令即可
合并分支
这个我们可能用的比较多一些,一般master分支是我们线上的分支,我们进行开发都是拉一个新的分支出来,或者有几个项目并行的时候,都是在各自的分支上进行提交,测试通过后再合并到master
比如我们的一个项目已经在 test-zq 分支测试通过了,想要上线,那么我需要先将master的代码合并到我当前的分支(在合并之前记得先pull,一定要pull,记得!!!!)
- git merge master
然后再切换到master分支,将我们的 test-zq 分支合并到master
- git merge test-zq
这样就完成了合并,记得要push哦~
提交代码
最常用的命令就是这个了,如果我现在在本地做了一些修改,想要查看我修改了那些文件,使用命令 - git status 即可
可以看到我修改了 .gitignore 文件
如果这个时候我想要把这个文件提交,那么我首先要把它提交到缓存区,然后推到本地仓库,最后再推送到远程
提交到缓存区,我们一般使用 - git add【你的文件】命令,如果要提交所有的文件,那么我们使用 - git add . 多了一个点哦~,这个命令会把你新增的文件也检测到
这个时候再查看下状态,会发现有变化,提醒我们需要提交到本地仓库
然后执行 - git commit -m "你提交的summary" 提交到本地仓库,这个时候再查看下状态,会发现有变化(如果没有后面的 -m参数的话,会跳到另外一个界面让你输入提交的summary)
会提醒你需要push到远程分支,执行 - git push 命令即可
这样,我们提交的代码别人只要 - git pull 就可以看到啦~
解决冲突
使用命令行也可以解决冲突,但是vim模式编辑起来太蛋疼了,所以我们一般会和其他工具配合起来来使用,我这边配置的是Beyond Compare 这个如果有需求后期可以再进行补充
查看记录
查看有哪些提交记录使用 - git log即可
回退版本
比如我要看以下项目详情页这个版本的各个文件是什么样子的,那么我可以使用 - git reset --hard 【版本号】即可
如果需要丢弃一个已经push过的提交,那么我们可以曲线救国,使用 -git revert 【版本号】即可,使用这个命令可以将你的回退作为一次新的提交