【问题标题】:Is it possible to automatically split a commit for Github compare view?是否可以自动拆分 Github 比较视图的提交?
【发布时间】:2016-02-11 09:28:00
【问题描述】:

在我们公司,代码审查是通过添加 cmets 在 Github 比较视图中完成的。当然,您可以使用 difftool 或其他工具。但我想知道是否有办法在提交超过the Github limits 时自动警告/拆分提交?

【问题讨论】:

    标签: git github compare git-commit


    【解决方案1】:

    您可以使用预提交hook 来防止大型提交。例如。要检查差异的行数,请将以下内容另存为 [REPO PATH]/.git/hooks/pre-commit 并使其可执行(例如,Linux 上的 chmod +x):

    #!/usr/bin/env bash
    [[ $(git diff --cached | wc -l) > 300 ]] && { echo "Commit too long"; exit 1; }
    

    或检查文件大小:

    tmp=$(mktemp /tmp/git_XXXXX)
    git diff --cached > "$tmp"
    [[ $(ls -l "$tmp" | awk '{print $5}') > 10000 ]] && { echo "Commit too large"; exit 1; }  
    

    【讨论】:

    • 这实际上是一个不错的答案,但可以通过告诉如何匹配所有 Github 限制来改进它。
    • 我还添加了一个示例来检查文件大小。您对其中一个限制有什么具体问题吗?
    • 这真的是关于能够在 Github 中查看代码,因为 Git 本身没有工具可以添加每行 cmets。如果它有效,我将对其进行测试,如果它确实你得到你应得的接受:)
    • 请注意,我使用了虚拟值。例如。要在链接中使用 1MB 限制,应将 10000 替换为 numfmt --from=iec 1M
    猜你喜欢
    • 2011-02-19
    • 2012-07-24
    • 2021-08-01
    • 1970-01-01
    • 2018-05-23
    • 2018-04-07
    • 2015-12-10
    • 2014-06-14
    • 2013-09-10
    相关资源
    最近更新 更多