git status #查看本地仓库状态
git branch -a #查看所有(本地+远程)分支
git checkout -b branchname #创建并切换分支
git fetch #刷新(合并)所有有修改的代码
git update-index --assume-unchanged filename #忽略不想要提交的代码
git update-index --no-assume-unchanged filename #撤销对代码的忽略
git add . #添加文件到本地区
git add finename #添加指定文件到本地区
git reset HEAD filename #当add之后,撤销不想要提交的代码。可以回滚add的代码
git commit -m message #提交代码
git commit --amend #想要修改提交代码的备注。最近的一次提交。
git reset -- soft HEAD commitid #想要修改提交代码的备注。指定提交的id。
git branch branchname #创建分支
git tag #查看所有的本地标签(tag)
git tag tagname #创建本地标签(tag)
git branch newbranchname tagname #根据tag(标签)来创建一个新的分支
git ls -remote --tags origin #查看所有的远程标签(tag)
git push origin --tags #推送所有本地tag到远程
git push origin #推送指定本地tag到远程
git tag -d #删除本地指定tag
git push origin :refs/tags/ #删除远程指定tag
git fetch origin #拉取远程指定tag
git show #显示指定tag详细信息
git stash #在切分支的时候,将不需要提交的代码放入一个栈中,进行缓存
git stash这个命令可以将当前的工作状态保存到git栈,在需要的时候再恢复
1.1 git stash
保存当前的工作区与暂存区的状态,把当前的工作隐藏起来,等以后需要的时候再恢复,git stash 这个命令可以多次使用,每次使用都会新加一个stash@{num},num是编号
1.2 git stash pop
默认恢复git栈中最新的一个stash@{num},建议在git栈中只有一条的时候使用,以免混乱
1.3 git stash list
查看所有被隐藏的文件列表
1.4 git stash apply
恢复被隐藏的文件,但是git栈中的这个不删除,用法:git stash apply stash@{0},如果我们在git stash apply 的时候工作目录下的文件一部分已经加入了暂存区,部分文件没有,
当我们执行git stash apply之后发现所有的文件都变成了未暂存的,如果想维持原来的样子,即暂存过的依旧是暂存状态,那么可以使用 git stash apply --index
1.5 git stash drop
删除指定的一个进度,默认删除最新的进度,使用方法如git stash drop stash@{0}
1.6 git stash clear
删除所有存储的进度
1.7 git stash show
显示stash的内容具体是什么,使用方法如 git stash show stash@{0}
#==============回滚某个文件到指定版本====================
在命令行中输入 git log src/main/main.java 得到该文件(main.java)的commit 历史
复制需要回退版本的hash,在此假设我们回退到 d98a0f565804ba639ba46d6e4295d4f787ff2949 ,则复制该序列即可
checkout 对应版本。格式为 git checkout <hash> <filename>, 在此即为命令行中输入 git checkout d98a0f565804ba639ba46d6e4295d4f787ff2949 src/main/main.java
commit checkout下来的版本。 如: git commit -m "revert to previous version"