统计每个人的增删代码数 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author...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 统计仓库中提交数前5的用户 git log --pretty='%aN...' | sort | uniq -c | sort -k1 -n -r | head -n 5 统计总的贡献者数量 git log --pretty='%aN' | sort -u | wc -l 统计代码总行数...git ls-files | xargs wc -l 转载请注明原文:https://longjin666.cn/?
上下文 我们通常用代码量来评判一个程序员技术的高低或一个项目的大小,阅读新项目源码时,也需要了解其代码量,心里有个预期。 那如何统计代码量呢? 传统做法 通过find+wc命令完成 $ find ....-name "*.go" | xargs wc -l 60 ....但是此处统计太过粗暴,wc 统计过程将注释、空白行等内容都被算作代码统计其中。 我们应该尝试更有效的统计方式。...支持多平台、多语言、分类别的统计目标文件或文件夹中源代码的文件数、空白行数、注释行数和代码行数。 安装 支持多种安装方式,几乎包含常用的所有安装方式。...$ cloc $(git ls-files) # 或 $ cloc --vcs git # 或过滤 svn $ cloc --vcs svn 高级用法 使用方法也很简单,统计结果会按照语言分类统计源代码的空白行
–list 查看文件列表 git ls-files 比较工作区和暂存区 git diff 比较暂存区和版本库 git diff –cached 比较工作区和版本库 git diff HEAD 从暂存区移除文件...–all 按日期排序显示历史 gitk –date-order Q&A 如何解决gitk中文乱码,git ls-files 中文文件名乱码问题?...还有: git fsck 记住 http(s) 方式的用户名密码 在有些情况下无法使用 git 协议,比如公司的 git 服务器设置了 IP 白名单,只能在公司内网使用 ssh,那么在外面就只能使用 http...| sort -u -n -r | head -n 5 贡献者排名 git log --pretty='%aN' | sort -u | wc -l 提交数统计 git log --oneline |...wc -l 参考:Git代码行统计命令集 修改文件名时的大小写问题 修改文件名大小写时,默认会被忽略(在 Windows 下是这样),让 git 对大小写敏感的方法: git config --global
git branch -a' gbd='git branch -d' gbda='git branch --no-color --merged | command grep -vE "^(\*|\s*(...--assume-unchanged' gignored='git ls-files -v | grep "^[[:lower:]]"' git-svn-dcommit-push='git svn dcommit...gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip--...[skip ci]"' history='fc -l 1' kube_all_pod='kubectl get pods --all-namespaces' kube_all_svc='kubectl...kube_pod='kubectl get pods' kube_svc='kubectl get svc' kube_test='kubectl config use-context adai@test' l=
update-index --assume-unchanged' alias gignored='git ls-files -v | grep "^[[:lower:]]"' alias gk='gitk...gwc='git whatchanged -p --abbrev-commit --pretty=medium' alias gwip='git add -A; git ls-files --deleted...-z | xargs -r0 git rm; git commit -m "--wip--"' alias history='fc -l 1' alias l='ls -lah' alias la='...查看文件的列表信息 查看git历史 就先选取两个作为参考的案例啦,当然,还有很多实际的操作,这里偏重的是git和ls命令的封装。 其实shigen也自定义了脚本的命令,来一起看看吧。...这样,就可以把我们常用的命令再次alias一下,我们的效率就提升啦。 以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。
用branch所指向的提交中filename替换暂存区和工作区中相 应的文件。注意会将暂存区和工作区中的filename文件直接覆盖。 $ git checkout -- ....14. git ls-files(查看文件列表) 使用 git ls-files 指令可以查看指定状态的文件列表,格式如下: #查看指定状态的文件 git ls-files [-z] [-t] [-...ls-files #默认查看所有缓存(已提交的)的文件 hyy00.txt hyy02.txt $ git ls-files -o # 查看未被跟踪的文件 $ git ls-files...--soft:撤销相应的更新,把这些更新的内容放到 Stage 中 □ reset, restore, revert区别 在日常git工作流中,经常涉及到回退暂存区、回退工作区等撤销操作。...有三个名称相似的命令:git reset,git restore和git revert。 git revert是进行新的提交,以还原其他提交所做的更改。
基础配置 首先pom.xml 中要配置的依赖是: provided 选项在这表示此依赖只在代码编译的时候使用,运行和打包的时候不使用。...同时,咱们实现的功能是:每隔 1s 计算过去 2s 内产出数据各单词的个数,也就是实现每隔1s计算过去 2s 的 WordCount 程序。...,是和咱们想实现的一致: 再次注意:窗口的使用方式在新版本中有较大的区别,这个咱们在后面会详细把这部分进行讲解。...) { out.collect(new WC(split, 1L)); } } }); c....包括 Streaming 和 Batch,以及 Flink SQL 的实现。 该篇文章还只是一个入门级的程序,后面将会各重要点进行详细阐述。
Git忽略本地的文件修改,保留其在远程仓库的状态 项目中的一些配置文件,需要在本地根据实际情况配置和修改,但同时这些配置仅在本地使用,并不想提交到远程仓库,这个时候仅使用.gitignore就办不到了...> 查看被忽略的跟踪文件 git ls-files -v | grep '^h ' 恢复忽略文件,重新被版本控制 git update-index --no-assume-unchanged git update-index只能忽略单个文件,想要忽略整个文件夹下的文件,可以使用以下命令: cd dir git update-index --assume-unchanged $(git ls-files...但是查看git tree并没有任何跟踪文件是没有保存和提交的状态,也就是说之前被设置忽略的文件,犹如掩耳盗铃般,只是不被提交,但是在merge、checkout的时候还是会被提示覆盖风险而导致git操作失败...-i ^S 取消标志,恢复版本控制 git update-index --no-skip-worktree -- 批量忽略文件 cd dir git update-index --skip-worktree
最后通过 start 方法执行命令,得到一个用于进程管理的 Process 对象,可以获取其 pid 和输出结果。...下面的例子在指定目录下执行 ls-l 命令列出目录下的所有文件。...wc -l ls -l | wc -l :列出文件目录,然后统计输出的行数。...); ProcessBuilder wc = new ProcessBuilder("wc", "-l"); // 追加日志到文件 File pipeLineLogFile...先编译一个用于测试的 Java 类 ExecDemo.java,此类每隔一秒输出一个数字,共输出 10 个数字,预计需要 10s 输出完毕。
$ git ls-files -s # 列出当前暂存区文件的详细信息 # 右边执行 $ watch -n 1 -d tree .git 图片 当添加文件的时候,文件或目录会从工作区流向暂存区...这就会导致,当我们执行 git status 的结果就是两者的差别。 经过如下操作,会使工作区和暂存区和的内容不一致了,通过命令我们也是可以查看区别的。...ls-files -s $ git status # 右边执行 $ watch -n 1 -d tree .git 图片 如果我们这里去修改一个文件的话,很显然这个时候我们的工作区和暂存区又不一致了...# 左边执行 $ git ls-files -s $ git add file1.txt $ git ls-files -s # 右边执行 $ watch -n 1 -d tree .git 图片...而其用于表示远程仓库的当前版本,用于和本地进行区别和校对的。
负责审查的工程师可以接受代码改变,可以提出疑问要求原作者继续修改。 曾经有段时间我对Phabricator 和XHP(一个PHP扩展)进行了优化研究,却意外发现了许多有关Facebook的内部资料。...ls-files --others --exclude-standard) >>> [6] $ (cd&'/home/emir/devtools/libphutil/&'; git ls-files...ls-files --others --exclude-standard) >>> [14] $ (cd&'/home/emir/devtools/libphutil/&'; git ls-files.../devtools/`是libphutil和arcanist的安装路径,如果我的记忆没问题的话,`/home/engshare/`是通过NFS开发机器之间进行分享,这里没有什么比较有趣的,但是也有可能存在其他脚本定位在这个目录..."Checking out workingcopy
Cellar Cellar/wget/1.16.1 Cellar/wget/1.16.1/bin/wget Cellar/wget/1.16.1/share/man/man1/wget.1 ls -l.../Cellar/wget/1.16.1/bin/wget 4.使用brew安装软件 brew install git 5.使用brew查询软件 brew search /wge*/----查询brew上有的版本...brew list —列出已安装的软件 brew update —更新Homebrew brew home *—用浏览器打开...localhost:4567/ 来同网页来管理包 brew -h brew —帮助 卸载命令 cd `brew –prefix` rm -rf Cellar brew prune rm `git...ls-files` rm -rf Library .git .gitignore bin/brew rm -rf README.md share/man/man1/brew rm -rf Library
git 也同样提供了查询命令: $ git ls-files -s 100644 78981922613b2afb6025042ff6bd878ac1994e85 0 a.txt 显然,最后一列是文件名...$ git ls-files -s 100644 78981922613b2afb6025042ff6bd878ac1994e85 0 a.txt 100644 61780798228d17af2d34fce4cfbdf35556832472...0 b/b.txt 大家体会一下暂存区跟 tree 对象的区别。...暂存区保存的是文件的全路径和对应的 blob 对象。通过暂存区 git 可以直接查询任意目录下的文件内容。...在解决冲突之前,我们先看一下暂存区: $ git ls-files -s 100644 0f7bc766052a5a0ee28a393d51d2370f96d8ceb8 0 a.txt 100644
本篇文章将解释Git LFS是什么,它的功能和使用场景,以及它究竟是不是管理大文件的最佳版本控制工具。...运行此命令将生成一个名为.gitattribute的文件,可以使用cat查看: cat .gitattributes 您可以使用“-l”选项列出该仓库为哪些扩展名或文件模式启用Git LFS。...git lfs ls-files Linux下使用Git LFS的安装示例 以下演示的是如何在Linux上安装并使用Git LFS。 1....git lfs track "*.zip" 3. 提交代码 在提交大文件之前,使用以下命令来审核将要提交的大文件清单。 git lfs ls-files Git LFS存储如何工作?...因此,每当文件增长时,Git存储库也会增长,这会导致Git用户在检出和克隆存储库时出现性能下降的情况。 Git LFS是为解决这些问题而创建的,但它自身也存在一些问题和限制。
=oneline --abbrev-commit 查看冲突未处理的文件列表 git ls-files -u 本地代码与远程代码冲突问题 本地代码未commit的前提下,解决与远程代码冲突问题 git...,而是想单独起一个分支 git stash branch [newBranchName] 想要查看当前工作区与暂存状态内容区别 git stash show -p stash{0} 本地代码已经commit...】 git merge [bill] 关于代码的比较 # 显示暂存区和工作区的差异 git diff git diff [filename] # 显示暂存区和上一个commit的差异【文件名】 git...git pull #或者 git checkout 1.0 origin/1.0 开发的过程中生成新分支 #因可能存在未被git监管和未提交的内容,需要将未提交的内容进行监管和暂存 git add ....='%aN' | sort -u | wc -l 提交数统计: git log --oneline | wc -l git log 参数说明: –author 指定作者 –stat 显示每次更新的文件修改统计信息
out Revision 3ef1aa74305bdfcbc5b79bb4d7b1eeaea62a959f (refs/remotes/origin/master) > git config core.sparsecheckout...-l` if [ $count !...-l` if [ $count !...= 0 ];then kill $boot_id count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l` boot_id...-l` if [ $count !
我们由版本编号就可以判断一个文件的新旧,这个特性在 Git 上就有些不同了,Git 是采用 SHA-1 的 Hash 来做版本标识的。如果我们要生成一个易读的数字编号,又应该怎么做呢?...方法一 # 用 commit 次数当 version number $ git rev-list HEAD | wc -l 12904 2....短 Hash 生成方式 短 Hash 生成有下面三种方式,区别在于生成速度不同。...# real 0m0.097s $ git describe --always d5c364b18 # real 0m0.004s $ git log --pretty="%h" -n1 HEAD...php function get_version() { chdir('/var/www/project/'); exec('git rev-list HEAD | wc -l', $version
1. iTerm2 配置 虽然Mac默认的终端已经非常强大,但从功能的丰富程度和开发效率上来看,对于我来说iterm2无疑是更优选择。...托开源社区的福,平凡和华丽之间只有一行代码的距离: sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master...gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify -m "--wip--...[skip ci]"' history='fc -l 1' l='ls -lah' la='ls -lAh' ll='ls -lh' ls='ls -G' lsa='ls -lah' md='mkdir...2.3.4 extract 正如我记不住打包和压缩的命令,解压等命令也是如此,因为实在是不大常用。之前也是靠别名,直到发现这个插件统一了解压命令:x。 3.
然而, Vim 仍然有其自身缺陷,对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。 本文介绍7个提高你工作效率和生产力的Vim使用技巧,作为你体验使用Vim进行高效操作的入门级教程。...光标移动 Vim的最大好处就是几乎所有的操作都是通过主键区的键位进行操作,双手不用离开键盘主区 ◎h、j、k、l,分别是左下上右移动光标,前面加上n,可以重复移动多次,例如3j就可以往下移动3行 ◎^...提高 Git 工程中 Ctrl-P 的执行效率 将下面的内容添加到你的 .vimrc 文件中(配置使用来使用 git 或 silver 查找工具来自动补全): et g:ctrlp_use_caching...-l --nocolor -g ""' else let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files ....Vim替换命令s Vim命令行模式下使用 :substitute 命令 (缩写形式 s ) 可以将指定范围内的字符替换成其他目标字符,实现同时处理多个目标行的操作效果。
您可以垂直和水平切片,并创建任何数量的窗格在任何可以想象的安排。 请注意,非活动窗格稍微变暗,因此很容易看到哪些窗格是活动的。...iTerm2 快速隐藏和显示 这个功能也非常使用,就是通过快捷键,可以快速的隐藏和打开 iTerm2,示例配置(Commond + .): image Oh my zsh 通过在终端中运行以下命令之一...-prune gfg git ls-files | grep gfo git fetch origin gg git gui citool gga git gui citool --amend ggf...=-v:refname -n -l ${1}* }; noglob gtl gunignore git update-index --no-assume-unchanged gunwip git log...git whatchanged -p --abbrev-commit --pretty=medium gwip git add -A; git rm $(git ls-files --deleted)
领取专属 10元无门槛券
手把手带您无忧上云