1.git 基本概念:
-
工作区:改动(增删文件和内容)
-
暂存区:输入命令:git add 改动的文件名,此次改动就放到了‘暂存区’(新增的文件)
-
本地仓库(简称:本地):输入命令:git commit 此次修改的描述,此次改动就放到了’本地仓库’,每个commit,我叫它为一个‘版本’。
-
远程仓库(简称:远程):输入命令:git push 推送到远程仓库,此次改动就放到了‘远程仓库’ git pull 拉去远程仓库
-
commit-id:输出命令:git log,最上面那行commit xxxxxx,后面的字符串就是commit-id
2.工作区和暂存区的常用命令:
-
展示工作区和暂存区的不同(输出工作区和暂存区的different(不同)。)
-
git diff
-
还可以展示本地仓库中任意两个commit之间的文件变动:
-
git diff <commit-id>
<commit-id>
-
两个分支的差异:
-
git diff <branch
a> <branch b>
-
放弃工作区的修改
-
git checkout <file-name>
-
放弃所有修改:
-
git checkout .
-
强制删除untracked的文件
-
git clean <file-name>
-f
-
强制删除untracked的目录
-
git clean <directory-name>
-df
-
展示所有tracked的文件
-
git ls-files -t
-
展示所有untracked的文件
-
git ls-files --others
3.有关commit的一些常用命令:
-
查看commit历史
-
git log
-
重设第一个commit(也就是把所有的改动都重新放回工作区,并清空所有的commit,这样就可以重新提交第一个commit了)
-
git update-ref
-d HEAD
-
回到某个commit的状态,并删除后面的commit (但不丢弃更改)
-
git reset <commit-id>
-
回到某个commit的状态(丢弃更改)
-
git reset —hard
<commit-id>
-
修改上一个commit的描述
-
git commit --amend
-
展示简化的commit历史
-
git log --pretty=oneline
--graph --decorate --all
-
在commit log中查找相关内容
-
git log --all --grep=‘<text>‘
-
commit历史中显示Branch1有的,但是Branch2没有commit
-
git log Branch1
^Branch2
4.关于分支管理的一些常用命令:
-
快速切换分支
-
git checkout -
-
创建并切换到该分支
-
git checkout -b
<branch-name>
-
查看本地分支:
-
git branch
-
查看所有分支
-
git branch -a
-
重命名本地分支:
-
git branch -m <branch-oldName>
<branch-newName>
-
删除远程分支
-
git push origin
--delete <remote-branchname>
-
git push origin
:<remote-branchname>
-
关联远程分支(关联之后,git branch -vv就可以展示关联的远程分支名了,同时推送到远程仓库直接:git push,不需要指定远程仓库了。)
-
git branch -u origin/mybranch
-
展示任意分支某一文件的内容
-
git show <branch-name>:<file-name>
-
新建并切换到新分支上,同时这个分支没有任何commit
-
git checkout --orphan
<branch-name>
5.关于git中标签的一些常用命令:
-
tag就像是一个里程碑一个标志一个点,branch是一个新的征程一条线;
-
tag是静态的,branch要向前走;
-
稳定版本备份用tag,新功能多人开发用branch。
-
查看标签
-
git tag
-
本地创建标签
-
git tag <version-number>
-
默认tag是打在最近的一次commit上,如果需要指定commit打tag:
-
git tag -a <version-number>
-m "v1.0 发布(描述)" <commit-id>
-
推送标签到远程仓库(首先要保证本地创建好了标签才可以推送标签到远程仓库)
-
git push origin
<local-version-number>
-
删除本地标签
-
git tag -d <tag-name>
-
删除远程标签(删除远程标签需要先删除本地标签,再执行下面的命令)
-
git push origin
:refs/tags/<tag-name>
6.关于git中stash的一些常用命令:
-
存储当前的修改,但不用提交commit
-
git stash
-
保存当前状态,包括untracked的文件
-
git stash -u
-
展示所有stashes
-
git stash list
-
回到某个stash的状态
-
git stash apply
<stash@{n}>
-
回到最后一个stash的状态,并删除这个stash
-
git stash pop
-
删除所有的stash
-
git stash clear
-
从stash中拿出某个文件的修改
-
git checkout <stash@{n}>
-- <file-path>
Git学习总结(10)——git 常用命令汇总
原文:http://blog.csdn.net/u012562943/article/details/52293101