曾几何时,小伙伴们需要从 TortoiseSVN(俗称小乌龟)
筛选文件,然后获取选中文件的路径。切换 git
之后,貌似不能很优雅地解决当前遇到的这个痛点,因此便有了 get-list-of-changed-files.sh
。
从 git log
获取变更文件列表,方便小伙伴 copy && paste,节省时间。
get-list-of-changed-files.sh
脚本接收三个参数,缺一不可。
参数分别为:author
、since_commit
、until_commit
。脚本使用这三个参数对 git log
进行过滤,只获取指定提交者和指定的提交范围内的日志,排除其他无关的 commits。
author:commit
的提交者,如 Jimmy
since_commit:提交范围的起始点,获取文件列表时不包含该提交点
until_commit:提交范围的结束点,获取文件列表时包含该提交点
since_commit 与 until_commit 在时间上的关系,since_commit 早于 until_commit。(现在是 t1 时间,过了一会,到了 t2 时间,我们称 t1 早与 t2)
假设筛选的列表内包含一个 A 文件。在 t1 时,我对 A 文件修改了某些内容,然后提交到本地仓库。过了一会,到了 t2,A 文件被删除。这时脚本跑出来的文件列表会包含 A 文件,因此需要人工再次过滤。
将脚本文件 copy 到项目的根路径。
切换到指定的分支,如 master
。
执行以下命令,给脚本文件赋于执行权限
chmod u+x get-list-of-changed-files.sh
传入参数,调用脚本
./get-list-of-changed-files.sh Jimmy 1957044 db419c3
PS: Windows 平台,建议在 git bash
运行。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。