Git基本操作三
继续写笔记,git相关操作。
# 1.设置代理
1 | ## 设置使用http代理 |
1.git 设置和取消代理 (这是一个讨论,包括了上面的内容)
2.git ssh 代理设置 (这里有如何设置ssh代理)
3.Git设置代理 (这个的ssh设置代理的方法最终解决了相应的问题,还有设置和取消http及https代理)
2.CentOS升级git
1 | ## 安装依赖 |
1.CentOS7升级Git版本 (照着这篇文章做,应该没错)
3.大文件的忽略
关于大文件的管理,其实典型的应用就是说,一个图片,经过多次修改之后,及时仓库本身的体积不是很大,但是.git文件夹会变得很大,因为它保留了多次的文件修改信息,也就是缓存了每一个图片,但是我们又不需要这些历史图片,怎么办呢?
1.怎么删除这些文件的版本控制信息,只保留最新文件?
2.在一开始创建新文件的时候,能不能设置改文件不参与版本控制,但是又能push到远程?
我发现了一个很好的插件,就是使用 git lfs 进行管理。
1.An open source Git extension for versioning large files (这是一个官方的扩展,可以对大型的文件进行管理)
2.Github 上怎么删除一个文件的版本控制信息,只保留最新文件? (这里提到的问题很相似)
4.统计代码行数
在linux系统上可以使用下面的命令,如果是windows系统,需要打开git bash执行下面的操作。
(1) 按不同文件统计所有人的
1 | git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep "\(.html\|.java\|.xml\|.properties\|.css\|.js\|.txt\|.vue\)$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done |
(2) 统计所有人的
1 | git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done |
(3) 使用cloc
1 | ## 安装 |
1.在windows 上统计git 代码量 (借助于gawk软件,可以统计某一个时间范围内的代码行数)
2.git中统计代码行数
3.项目代码行数统计 (这里提供了多种统计方法,包括使用了idea插件,使用git命令,使用 cloc)
4.使用 cloc 统计你的代码量
5.代码统计工具 cloc 基本使用
5.Pull request
需要注意的就是:
(1) 进行发起pull request 设置的,是自己仓库中 fork 的那一个,而不是原仓库
6.敏感信息加密
6.子模块
1 | ## 添加 |
1.git中submodule子模块的添加、使用和删除
7.删除历史
1 | # 撤销对某个文件的跟踪 |
【1】.Git:移除文件—-git rm命令的使用 这里只是删除某一个文件,还是有历史记录。git rm 命令使用,删除工作区文件,并且将这次删除放入暂存区。git rm -f 命令, 删除工作区和暂存区文件,并且将这次删除放入暂存区。git rm –cached 命令,删除暂存区文件,但保留工作区的文件,并且将这次删除放入暂存区。
【2】.Github: 单独删除某个文件的所有历史记录 把src/main/resources/config/application-test.yml替换成你们自己的,本地记录覆盖到Github,(所有branch以及所有tags)
【3】.Git 如何在 git 中删除一个文件的所有痕迹 这里有相应的代码,还是挺管用的