代码之家  ›  专栏  ›  技术社区  ›  Paul Beckingham

编程git状态

git
  •  11
  • Paul Beckingham  · 技术社区  · 15 年前

    是否有人知道git管道(绝对不是瓷器)用于确定是否:

    • 本地头是否在原点/头之前

    2 回复  |  直到 15 年前
        1
  •  11
  •   Community Egal    7 年前

    更新:as mentioned below toupeira ,你可以使用 --porcelain 选择 git status (自2009年9月提交6f15787以来,git 1.7.0)。

    我在回答中提到“ What does the term porcelain mean in Git? “认为:

    也许是 这里是“生产适合瓷器脚本消费的产品”

    但是,这不会显示前/后信息 What to add to “git status --porcelain” to make it behave like “git status”? How to know if git repository has changes that have not been synchronized with server? "


    初步答覆二零零九年三月

    在命令中,a:

    $ git diff HEAD
    

    “卫浴”命令中可能的等效项为:

    $ git ls-files -m
    

    用于列出所有修改的(工作目录或索引)文件


    如果通过克隆其他人的存储库来创建存储库,则远程“主”分支将复制到名为“源”的本地分支。您可以获得自己的“主”分支,它不绑定到远程存储库。

    运行“git status”并分析输出:

    # On branch master
    # Your branch is ahead of 'origin/master' by 11 commits.
    #
    

    更多详情请参见“SO问题” Why is Git telling me “Your branch is ahead of ‘origin/master’ by 11 commits.” and how do I get it to stop? "

    * git-for-each-ref
    

    用于列出所有提交,但也需要分析输出。。。

    git ls-files could be used to produced the same result than a git status .

    git ls-files --exclude-per-directory=.gitignore --exclude-from=.git/info/exclude \
                        --others \
                        --modified \
                        -t
    
        2
  •  3
  •   toupeira    11 年前

    git status 现在有一个 --porcelain 用于编写脚本的参数(以及替代参数 -z 对于机器解析),这是首选的 git ls-files 不会显示添加到索引中的文件。