Git常见使用命令

常用:
1.撤销未add的修改:git checkout
2.撤销commit的修改:git reset和git checkout
3.git stash 可用于临时保存和恢复修改,可跨分支
4.git diff比较变更
1)从new分支到master分支所做的变化  git diff new master 
2)我们经常要查看对工作目录的内容作了哪些修改,以确定这些修改是否合理。
 git diff commit1:path/file commit2:path/file // 比较不同提交中的同一个文件
5.git rebase  B  用于把一个分支B的修改合并到当前分支
在不用-f的前提下,想维持树的整洁,方法就是:在git push之前,先git fetch,再git rebase 

在rebase的过程中,也许会出现冲突(conflict). 在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用"git-add"命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行:git rebase --continue
在任何时候,你可以用--abort参数来终止rebase的行动,并且分支会回到rebase开始前的状态。git rebase –abort

把某个分支的一个提交应用到当前分支上  git cherry-pick <commit id>

 
6. 显示提交内容

  git log --grep=224 // 这条命令是查看含有 "224" 关键字的
# git show 9b1796 //查看提交的具体内容
# git show -s 9b1796 //显示提交的概要
# git ls-tree 9b1796 //查看commit指向的tree包含的tree和blob
# git cat-file -p 9b1796 //查看提交的基本信息
#git log file // 只显示有修改file的commit
# git log --graph // 用ASCII字符画图显示提交历史线,这个功能很不错

来看一个实际的例子,如果要查看 Git 仓库中,2008 年 10 月期间,Junio Hamano 提交的但未合并的测试脚本(位于项目的 t/ 目录下的文件),可以用下面的查询命令:
$ git log --pretty="%h - %s" --author=gitster --since="2008-10-01" \
--before="2008-11-01" --no-merges -- t/

不常用:
1.git中有两种主要的标签:轻量级标签(lightweight)和带注释的标签(annotated)。
轻量级标签是针对某个特定提交的指针,带注释的标签是git仓库中的对象,包含更多信息。
轻量级标签:
# git tag v1.0 // 把最新commit做成v1.0标签
带注释的标签
# git tag -a v1.0 -m "describe what is v1.0" // 也可以不指定-m,直接用vi编辑
显示标签列表:
# git tag -l
删除标签:
# git tag -d v1.0
显示某个标签的内容
# git show v1.0
2.忽略哪些目录和文件  现在已经创建好了一个 git 版本库,但是它是空的,还不能做任何事情,下一步就是怎么向版本库中添加文件了。如果希望忽略某些文件,需要在git库根目录下添加. gitignore文件。编辑.gitignore,可以指定要忽略哪些目录和文件,这些文件就对Git隐形了。比如指定忽略proj下的patches目录:/patches
3. git 生成patch和使用patch
1)git diff生成patch补丁:git diff > patch
2)使用的patch补丁应用到当前分支中:git apply --check patch

 

在Makefile中获取编译时间及版本信息,

在Makefile中添加以下语句,

# 编译时间  在unix下
COMPILE_TIME = $(shell date +"%Y-%M-%d %H:%M:%S")
CFLAGS += "\"$(COMPILE_TIME)\""

# GIT版本号
GIT_REVISION = $(shell git show -s --pretty=format:%h)
CFLAGS += "\"$(GIT_REVISION)\""

# 编译时间  Windows下
COMPILE_TIME = $(shell echo %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%)
CFLAGS += "\"$(COMPILE_TIME)\""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值