记录一下git常用命令备查,一般也就在服务器上才会直接使用git命令操作。对于我这种菜鸡来说,本地开发还是直接使用诸如idea这类可视化工具是最香的,还不容易出错。
创建仓库/初始化/提交操作
初始化仓库操作,这样才能用git进行代码管理
git init
下载远程仓库的代码到本地
git clone 仓库地址
添加本地的某个新文件xxx到本地仓库
git add xxx
这个操作和上面的区别在于,这个命令会添加所有的新文件,也就是当前目录下的所有新文件
git add .
提交代码到本地仓库,且提交信息为message
git commit -m 'message'
这个命令将上面两个步骤 add 和 commit 合二为一
git commit -am 'message'
日志查看/信息显示
查看提交日志,回车查看更多,按q退出
git log
用于显示工作目录和暂存区的状态,使用此命令能看到哪些修改被暂存到了, 哪些没有,以及哪些文件没有被Git tracked到
git status
分支管理
查看本地的所有分支,并且当前处于哪个分支
git branch
创建分支,创建的新分支的代码一般是来自于master的,所以,比如你创建了新分支test,那么test分支的代码是和master的代码是一样的
git branch xxx
切换到xxx分支
git checkout xxx
这条命令就是执行了前面的两条分支,git branch xxx和git checkout xxx,创建并且直接切换到xxx分支
git checkout -b xxx
查看本地和远程所有分支
git branch -a
分支合并
git merge
本地有这么多的分支当我们完成功能开发,需要合并到maste的时候,应该怎么办呢?
切换到master分支,git checkout master
。
合并xxx分支,git merge xxx
。
这时候如果有冲突就需要解决冲突了。删除分支
git branch -D xxx
当我们完成了功能开发,且合并到了master的时候,我们就可以删除我们当前的分支了。
注意:当前处于xxx分支,xxx分支是不能被删除的,需要先切换到其他分支。删除远程分支
git push origin --delete xxx
注意:这个操作属于危险操作,如果权限不合理,可能会出现大问题
建议:git branch -a
查看所有分支,再进行操作。
更新管理
提交代码
git push origin xxx
提交代码到远程仓库,最常用的操作,xxx就是远程的仓库名称。
最常用:git push origin master
,推送代码到master分支。拉取代码
git pull origin xxx
拉取远程代码到本地,等价于 fetch 和 merge 两步一起执行,但是,这个其实是在平时最常用的命令,一般拉取新代码的时候,都直接用这个命令操作。
版本回退
其实在平时的开发中还是会遇到一些操作不当,导致分支出现问题,这个时候,版本管理的作用就凸显出来了,我们可以通过git提供的版本管理进行版本回退操作,这样可以很快的解决我们得问题。
场景:当我们开发一段时间之后,发现现在跟master分支出了很大的问题,我们很有可能需要回退到一个我们比较合适的代码版本,然后再进行相关的开发工作。
git reset --hard xxx
这个命令使用需要注意,会把当前分支的代码全部回退到以前的一个版本,不可逆转,需要谨慎使用。虽然不太常用,但是,当出现大的问题的时候,却能发挥很大的作用,直接回退到一个以前的版本。
git reflog
可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)