【问题标题】:How to find last committed user name and details of remote branch如何查找上次提交的用户名和远程分支的详细信息
【发布时间】:2017-01-11 06:14:17
【问题描述】:

我在 bitbucket 中有一个分支,现在我想在单个 git 命令(远程分支)中查找最后一次提交的详细信息(以及该分支的最后一次提交的用户名)。 我试过这个命令,但它说Not a git branch

git log https://userName:password@bitbucket.org/panchalajay/master.git -b branchName --single-branch

【问题讨论】:

    标签: git bitbucket


    【解决方案1】:

    如果不克隆 repo,只有git ls-remote 会联系远程 repo 以获取数据(即分支名称和 SHA1 和标签)。

    git ls-remote 不会带回任何其他信息,例如作者身份。
    为此,您可能会 have to use BitBucket API 喜欢 commit/revision 之一。
    这将带回您需要的有关特定提交的所有信息。

    所以:

    • 要么使用 git ls-remote 获取远程分支 SHA1,外加 BitBucket API
    • 或仅使用 BitBucket API 调用来查询远程存储库。 (如 refs/branches 获取相同的远程分支名称和 SHA1)

    已经克隆了一个存储库,我的old answer(这是this gist 的基础)就足够了。
    您可以添加过滤器以仅打印特定分支的数据。

    制作一个名为 git-infob 的 bash 脚本(无需扩展,甚至在 Windows 上也可以使用):

    #!/bin/bash
    bname=$1
    branches=$(git branch -r | grep -v HEAD)
    for branch in ${branches}; do
        branch_name=$(echo -n $branch | sed -e "s/origin\///g")
        # echo ii ${branch_name} ${bname}
        if [ "${bname}" == "${branch_name}" ]; then
            git log -1 --format="%ai %ar by %an" $branch
        fi
    done
    

    将该脚本放在您的$PATH/%PATH% 中的任何位置,然后调用git infob master

    【讨论】:

    • 这里是作为参考获取的链接,这里他们获取详细信息,但我想要特定分支的详细信息 [链接 -->gist.github.com/l15n/3103708]
    • @ajaypanchal 您的要点是关于在 local 存储库中运行的 Git 命令。所以问题是:你是否已经克隆了 BitBucket 存储库,或者你想要那些信息而不克隆存储库(这就是我的答案)
    • 其实我想要它不克隆,但如果你克隆后有它的答案,你可以建议我。 @VonC​​pan>
    【解决方案2】:

    实际上你不能只用一个命令就可以做到这一点而不克隆它或进入 Bitbucket ui,因为你必须更新远程的引用。
    也就是说,这真的很简单:

    git fetch
    git log origin/yourBranch -10
    

    提取不会合并本地分支中的远程提交而不是拉取。
    如果需要,您也可以创建别名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-11
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      相关资源
      最近更新 更多