git命令大全
git本地管理
git init [newreponame]
创建一个本地仓库。
newreponame :指定新仓库的名称
git add [.] [file …]
将文件添加到暂存区。
. :添加所有文件;file ... :添加指定文件
git status [-s]
查看文件是否修改(文件状态有三种:未跟踪、未暂存、未提交)。
-s :显示摘要(简短信息显示)
git diff [–stat | –cached | HEAD]
查看尚未暂存的改动。
--stat :显示摘要(简短信息显示)
--cached :查看已暂存但未提交的改动
HEAD :查看已暂存的与未暂存的所有改动
git commit [-m | -am | –amend]
将改动提交到版本库中。
-m :在命令后面添加注释(默认打开编辑器输入注释)
-am : 将没有add进入暂存区的改动一块提交(等于先执行git add 后在执行git commit)
--amend :合并上一次提交(通过日志查看看到最后一次提交的注释)
git reset HEAD [filename …]
取消已暂存的内容。
filename : 指定需要取消的文件(默认取消所有)
git rm [-f | –cached]
将改动从暂存区中移除。
-f :移除暂存的同时将该文件给删除。
--cached :移除暂存保留文件(文件处于未跟踪状态)。
git mv [oldname newname]
文件重命名<oldname newname>。该操作是先执行git rm --cached将文件
从暂存区中移除,然后重名名后在执行git add。
git标签管理
git tag
显示所有的tag
git tag -a [tagname] -m [commit]
创建一个标签。
tagname:标签名
commit:标签注释
git tag -d [tagname]
删除一个标签。
tagname:标签名
git checkout [tagname]
切换到指定名称的分之下。
-b :创建指定branchname的分支并切换到该分支下。
git show [tag]
显示tag。
git分支管理
git branch [branchname]
创建分支。如果没有添加branchname则列出所有分支
git checkout [-b] [branchname]
切换到指定名称的分支下。
-b :创建指定branchname的分支并切换到该分支下。
git branch -d [branchname]
删除指定名称的分支。
git merge [branchname]
将指定名称的分支与当前分支合并。(如果在合并分支中出现冲突,
需要手动修改有冲突的内容,在修改完成后通过git add命令完成修改)
git branch [branchname] [tagname]
根据指定的tag创建一个分支。
git日志管理
git log [–reverse][–oneline][–graph][-n][–decorate]
查看提交日志。
--reverse :倒序显示。(默认是按照最近时间显示)
--oneline :显示简要日志
--graph :查看出现分支合并的日志
--n :显示n行日志(n为整数)
--decorate:显示tag、分支等信息。
git diff
用于比较两次修改的差异。默认比较工作区和暂存区
--cached : 比较暂存区与最新本地版本库
HEAD :比较工作区与最新本地版本库
commitid :比较工作区与指定commitid的差异
[commitid][commitid] :比较两个commitid的差异
git远程仓库管理
git clone [directory]
从远程仓库克隆一个库。()
repo :仓库名;directory :可以指定新仓库的名称
git remote -v
查看所有的远程库。
git remote add [name] [url]
添加远程仓库。
name :指定远程库的简称
url :远程库的地址
git remote rm [name]
删除远程库。
name :远程库名称
git push [remoteName] [localBranchName:[remoteBranchName]]
将本地仓库内容推送到远程仓库。
remoteName :远程库名称
localBranchName :本地分支名称。
remoteBranchName :远程分支名称。本地分支会被提交到该远程分支中,该参数可为空,
那么git默认提交到和本地分支同名的远程分支中
$ git push origin master 提交到远程库的master中
$ git push origin master:test 将本地仓库的master分支提交到远程库的test分支。
git pull [remoteName] [remoteBranchName:[localBranchName]]
从远程库中获取指定分支下的内容。
remoteName :远程库名称。
localBranchName :如果不写该参数,默认情况下会在本地库中创建master分支用于存放远程库分支的内容,
如果本地库中不存在master分支,那么在指定localBranchName分支后,会默认将远程分支的内容放入到master
和localBranchName中。
git push [remote] [tag]
将tag提交到远程服务器
git push [remote] –tags
将本地所有tag提交到远程服务器