【问题标题】:Git Bash script to check whether repo has any commits?Git Bash脚本检查repo是否有任何提交?
【发布时间】:2011-07-16 16:15:29
【问题描述】:

我有一个脚本,我需要根据是否有任何提交,即一个或多个提交来采取不同的行动。最好的方法是什么?

在伪代码中它看起来像这样..

#!/bin/bash

if [[ `git log_count` == "0" ]]; then
    echo "No commits exist for this repo."
    # Do stuff..
else
    echo "One or more commits do exist!"
    # Do other stuff
fi

有什么想法吗?

【问题讨论】:

    标签: git bash


    【解决方案1】:

    我脑海中的琐碎事情是

    $ git log | egrep -c  "^commit"
    1493
    

    【讨论】:

      【解决方案2】:

      您还可以检查以下结果:

      git rev-parse --verify HEAD
      

      (在this thread:) 之后

      1. 这是一个管道命令,因此不太可能改变其行为 与“git diff”相比。
      2. 对我来说似乎更明显。 rev-parse --verify 是用来问的 “这是一个有效的对象名称吗?”

      与您的show-ref略有不同。
      您的问题是“此存储库中的 refs/heads 中是否有任何内容?”
      我的问题是“当前的HEAD 存在吗?”

      在实践中,它们都是合理的测试,因为一旦你有了一个分支,就很难让HEAD 指向一些无效的东西,除非手动编辑一些虚假的值。但是,根据您要表达的内容,您可能更喜欢其中一个。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-25
        • 2012-01-18
        • 2018-08-26
        • 2015-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-11
        相关资源
        最近更新 更多