1.删除远程tag或者branch
git push origin --delete (tagName)/(brachName).
例如:删除远程2.1branch:git push origin --delette 2.1
2.检出某次commit时的代码(通过commit index检出)
git checkout commit的SHA1值
例如:git checkout f9e08fd76146bfc7cc45a4c7e27244591069c2cc
3.从某个commit点新建branch
git branch new_branch_name commit的SHA1值
例如:git branch new_branch_name f9e08fd76146bfc7cc45a4c7e27244591069c2cc
4.强制删除远程的某次commit
git reset --hard HEAD~6 删除6次commit信息
git push origin HEAD --force
如何删除远程分支上的Tag
git tag -d qfe-20150831-v040412
git push origin :refs/tags/qfe-20150831-v040412
下载远程所有的分支
git fetch --all
查看本地分支
git status
合并master分支到本地分支
git pull origin master
取消commit
git checkout -- filename
reset命令有3种方式:
git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
以下是一些reset的示例:
(1) 回退所有内容到上一个版本
git reset HEAD^
(2) 回退a.py这个文件的版本到上一个版本
git reset HEAD^ a.py
(3) 向前回退到第3个版本
git reset –soft HEAD~3
(4) 将本地的状态回退到和远程的一样
git reset –hard origin/master
(5) 回退到某个版本
git reset 057d
(7) 回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit 此方法可以回滚某个文件的提交
git revert HEAD
目录回滚
git checkout file1 (回滚单个文件)
git checkout file1 file2 ... fileN (一次回滚多个文件,中间用空格隔开即可)
git checkout . (直接回滚当前目录一下的所有working tree内的修改,会递归扫描当前目录下的所有子目录)
比较数据
git diff
如果想要比较最新提交和缓存区内的文件,使用 –cached flag。
$ git diff --cached $ git diff --cached index.html
转载于:https://blog.51cto.com/311404/1744900