首页 > 代码库 > GIT常用命令
GIT常用命令
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
$ git config --list 查看配置记录
2、常用命令
git init 本地创建版本库
git add "test.txt" 添加指定文件到版本库中
git add . 添加所有文件到版本库中
git clean -f
清除Untracked files
git commit -m "wrote a test file"
将修改的文件提交到仓库,-m参数用于设置此次提交的注释内容
git commit -a -m "wrote a test file"
如果有多个文件需要提交,则必须使用-a参数git status 查看仓库的当前状态,显示那些文件已修改,那些文件需要提交
git log 查看版本提交记录 其他参数
git log --stat 查看提交记录简要的增改行数统计
git log --pretty=oneline 只显示提交记录的commit id(版本号)和注释内容
git log --pretty=oneline --abbrev-commit
git reset --hard HEAD^ 把当前版本回退到上一个版本
git reset --hard HEAD~100
git reset --hard commit_id 回退到指定的版本号
git reflog 查看命令执行记录
git diff HEAD -- 文件名 查看工作区和版本库里面最新版本的区别
git checkout -- readme.txt 把文件在工作区的修改全部撤销,回退到版本库或暂存区的最新版本
git reset HEAD readme.txt 把暂存区的修改回退到工作区
git rm readme.txt 从版本库删除文件
git show
某次的提交哈希值 文件
名 查看某个文件某次的修改记录git remote add origin git@github.com:username/learngit.git
将本地git库与远程库关联,origin是远程库的名称(可以任意定义)
git push -u origin master 把本地库中master分支的所有内容推送到远程库,-u参数是將本地库与远程库关联,平时提交不需要该参数
ssh-keygen -t rsa -C "youremail@example.com" 创建SSH KEY,每个客户端创建一个KEY,提交时github可以准确识别出提交者
历史查看 :
查看提交历史(全部): $ git log
查看提交历史,并显示统计信息: $ git log --stat
查看提交历史并查看差异: $ git log -p
查看最近2次提交历史并查看差异: $ git log -p -2
查看最近2周内提交历史: $ git log --since=2.weeks
查看某个时刻之后的提交历史: $ git log --since="2008-09-14"
查看某个时刻以前的提交历史: $ git log --until="2008-09-14"
查看某个作者的提交历史: $ git log --author="stupid"
查看提交历史,并单行显示: $ git log --pretty=oneline
查看提交历史,并格式化显示: $ git log --pretty=format:"%h - %an, %ar : %s"
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%cr 提交日期,按多久以前的方式显示
%s 提交说明
【日志参数】
-p 按补丁格式显示每个更新之间的差异。
--stat 显示每次更新的文件修改统计信息。
--shortstat 只显示 --stat 中最后的行数修改添加移除统计。
--name-only 仅在提交信息后显示已修改的文件清单。
--name-status 显示新增、修改、删除的文件清单。
--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
--graph 显示 ASCII 图形表示的分支合并历史。
--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和format(后跟指定格式)。
git checkout -b dev 创建并切换到dev分支
git checkout master 切换到master分支
git branch 查看当前所有的分支,当前分支前面会标一个*号
git branch dev 创建dev分支
git merge dev
合并dev分支到master主分支git merge --no-ff -m "注释内容" dev 合并dev分支时生成一个新的commit,从分支历史上就可以看出分支信息。
注意上面的--no-ff参数,表示禁用“Fast forward”
git branch -d dev 删除dev分支
git tag v1.0 切换到需要打标签的分支上,创建v1.0标签
git tag 查看所有标签
git tag v0.9 commit_id 在知道版本号打标签
git show v0.9 查看标签信息
git tag -a v0.1 -m "version 0.1 released"
commit_id
用-a指定标签名,-m指定说明文字
git tag -d v0.1 删除标签
git push origin v1.0 推送标签到远程库
git push origin --tags 一次性推送全部尚未推送到远程的本地标签
git reset --hard 取消缓存已缓存的内容
git clean -xdf 从磁盘上删除所有未提交到暂存区的文件
未提交到暂存区:
git checkout . 撤销所有工作区文件的修改
git checkout filename 撤销指定工作区文件
的修改
git checkout *.java 撤销工作区所有java文件的修改
git clean -xdf
GIT常用命令