git 命令记录

声明:本文不是完全原创,博客内容基本上出于其他人的博客,也有部分自己实操的理解。
ps:如果不是选成转载文章需要填原文链接,我也不想弄成原创,原文那么多怎么找的过来。

git rebase: 变基,commit合并
使用:
step1

git rebase -i HEAD~{最新提交记录以下多少行以内}

step2
编辑器指定保留commit(pick/p)和被合并commit(squash/s),弹出的编辑页面会有英文说明,可以自行研究。
step3
成功后会继续弹出编辑器,输入合并后的commit 名称
step4

git push (-f)

如果rebase更改的提交记录在本地可以不加-f,如果在远程仓库,需要加-f指定强制更改,但是这样会影响别人的分支记录(如果有的话),所以我一般是用于自己拉的分支在merge之前合并所有提交记录。如果有更好的方法欢迎指出。

git checkout:检出,创建/切换分支
使用1:切换到本地分支xxx

git checkout <branchname>

使用2:创建本地分支

git checkout <branchname>

使用3:以远程分支为源创建本地分支

git checkout -b <branchname> <remote_branchname>

git branch:分支,查看本地/远程分支 列表,删除本地分支
使用1:查看本地分支

git branch

前面带*的表示当前选中分支
使用2:查看远程分支

git branch -a

使用3:删除本地分支,

git branch -d <branchname>

下面是比较杂乱的命令,有能比较系统的归纳的会更新到上面:
git 拉取更新远程分支列表:

git remote update origin --prune

犯懒了,直接贴上用得上的博客地址吧

git使用情景2:commit之后,想撤销commit:
https://blog.csdn.net/w958796636/article/details/53611133

统计所有人代码行数的命令

git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat -- . ":(exclude)xxxxx" | grep "\(source/nuwa*.*\)$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done

排除某文件夹下的提交:
这是git 支持的命令

-- . ":(exclude)path"

path 格式:XXX/XXX 从项目根目录开始写

过滤文件格式:
这是linux的管道过滤

grep "\(filter)$"

filter格式: 以 \ 符号分割,支持两种格式
1、文件格式过滤: .fileType
2、文件路径过滤:xxx/xxx*.*从项目根目录开始写
例子

grep "\(.cpp\.h\source/common*.*)$"

这句意思就是筛选出 source/common目录下的.cpp和.h文件的代码提交行数

git使用有所得时再更新!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值