我在bitbucket中有一个分支,现在我想在单git
命令(远程分支)中找到最后一次提交的详细信息(使用此分支的最后一次提交的用户名)。
我尝试了这个命令,但它说Not a git branch
。
git log https://userName:password@bitbucket.org/panchalajay/master.git -b branchName --single-branch
答案 0 :(得分:1)
如果不克隆存储库,只有git ls-remote
会联系远程存储库以获取数据(即分支名称和SHA1和标记)。
git ls-remote
不会带回任何其他信息,例如作者身份
为此,您可以have to use BitBucket API使用commit/revision。{。}
这将带回您需要的有关特定提交的所有信息。
所以:
如果存储库已经克隆,我的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 如果需要,您也可以创建别名。