git

查看git配置:

git config --list

设置git的user name和email:

git config --global user.name "xxx"
git config --global user.email "xxx@gmail.com"

查看某个文件的修改历史

git log --pretty=oneline filename # 显示此文件的修改历史
git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e # 查看更改

git 取添加文件

在git的一般使用中,如果发现错误的将不想提交的文件add进入index之后,想回退取消,则可以使用命令:

git reset HEAD <file>…

同时git add完毕之后,git也会做相应的提示。

git删除文件

删除文件跟踪并且删除文件系统中的文件file1

git rm file1

删除文件跟踪但不删除文件系统中的文件file1

git rm --cached file1

git rm 帮助如下:

usage: git rm [options] [--] <file>...
    -n, --dry-run         dry run
    -q, --quiet           do not list removed files
    --cached              only remove from the index
    -f, --force           override the up-to-date check
    -r                    allow recursive removal
    --ignore-unmatch      exit with a zero status even if nothing matched

版本回退

版本回退用于线上系统出现问题后恢复旧版本的操作。

回退到的版本

git reset --hard 248cba8e77231601d1189e3576dc096c8986ae5

回退的是所有文件,如果后悔回退可以git pull就可以了。

历史版本对比

查看日志git log

查看某一历史版本的提交内容git show 4ebd4bbc3ed321d01484a4ed206f18ce2ebde5ca,这里能看到版本的详细修改代码。

对比不同版本git diff c0f28a2ec490236caa13dec0e8ea826583b49b7a 2e476412c34a63b213b735e5a6d90cd05b014c33

创建分支且切换分支

创建新分支:git branch branchName

切换到新分支:git checkout branchName

然后,上面两个命令也可以合成为一个命令:

git checkout -b branchName

#git branch的时候注意当前的所在的分支

分支帮助

git branch -help

分支重命名

重命名任何分支:

git branch -m <oldname> <newname>

重命名当前分支:

git branch -m <newname> #其实-m参数就是 "move" (or mv) 

更多关于: git branch 的信息,查命令:

git --help branch

查看当前git 分支详情

git branch -v

还原当前分支为origin/master

git reset --hard origin/master

查看提交日志小技巧

$ git log (--pretty=)oneline

常见的format选项:
选项 说明

%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明

注:作者是指最后一次修改文件的人;而提交者是指提交该文件的人。

$ git log --pretty=format:"%an %ae %ad %cn %ce %cd %cr %s" --graph

–mergs 查看所有合并过的提交历史记录

–no-merges 查看所有未被合并过的提交信息

–author=someonet 查询指定作者的提交记录

$ git log --author=gbyukg

-since,-affter 仅显示指定时间之后的提交(不包含当前日期)

-until,-before 仅显示指定时间之前的提交(包含当前日期)

$ git log --before={3,weeks,ago} --after={2010-04-18}

–grep 通过提交说明信息过滤提交日志

$ git log --grep=hotfix 该命令会列出所有包含hotfix字样的提交信息说明的提交记录

注意:如果想同时使用-grep和author,必须在附加一个-all-match参数。

-S 通过查询文件的变更内容来检索出指定提交日志 注:-S后没有"=",与查询内容之间也没有空格符

$ git log --Snew

-p 查看提交时的补丁信息

$ git log -p --no-merges -2

–stat 列出文件的修改行数

-sortstat 只显示-stat中最后行数修改添加移除的统计

–graph 以简单的图形方式列出提交记录

–abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。

–relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。

–name-only 仅在提交信息后显示已修改的文件清单。

–name-status 显示新增、修改、删除的文件清单。

GIT Blame
用来查看文件的每个部分修改详情

$git blame index.php

git log的经典示例

git log --author=xx --after=2015-11-01 --before=2015-12-01 --no-merges --shortstat --pretty=format:" %b $ %an $ %ci $ %s " > 1.txt
git log --author=xx --after=2015-11-01 --before=2015-12-01 --no-merges --shortstat --pretty=format:" %b $ %ae $ %ci $ %s " > 1.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值