如何查找上次提交的用户名和远程分支的详细信息

时间:2016-09-03 06:49:20

标签: git bitbucket

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

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

2 个答案:

答案 0 :(得分:1)

如果不克隆存储库,只有git ls-remote会联系远程存储库以获取数据(即分支名称和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

答案 1 :(得分:0)

实际上你不能只用一个命令做这个,也不能克隆它或进入Bitbucket ui,因为你必须更新遥控器的参考文献。
这就是说,这很简单:

git fetch
git log origin/yourBranch -10

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