相关疑难解决方法(0)

验证是否存在提交

如何验证当前分支中是否存在具有给定sha的提交?

解析输出有很多种方法,但我需要返回布尔值的最佳方法(用于bash脚本).

例如

sha=$1
if [ -z `git magic --validate $sha` ]; then
  echo "Invalid commit sha: $sha"
  exit 1
fi
Run Code Online (Sandbox Code Playgroud)

git scripting githooks

14
推荐指数
2
解决办法
8502
查看次数

如何从提交哈希中告诉git branch name?

我有一个bash脚本,它接受一个分支名称(例如,"master"或"feature/foo")或提交哈希(例如"1234abcd")的字符串.

我已经检出了存储库,所以我可以调用git.

确定字符串是分支名称还是提交哈希的最佳方法是什么?

#!/bin/bash
commit_or_branch="$1"
cd /path/to/my_repo
git fetch
if <is_branch $commit_or_branch>
then
    echo "it's a branch"
else
    echo "it's a commit"
fi
Run Code Online (Sandbox Code Playgroud)

git bash

10
推荐指数
2
解决办法
6029
查看次数

如何检查远程 Git 存储库中是否存在修订(提交)

我正在开发将其他应用程序从 git repo 部署到服务器的应用程序,并且有一个选项可供用户选择要部署的修订版。

我的问题是在不下载的情况下验证给定 repo 中存在修订版。

类似的问题中,他们建议使用,test $(git cat-file -t $sha) == commit但需要本地回购。

是否可以通过其 URL 检查远程仓库上是否存在修订版?

git

5
推荐指数
1
解决办法
2429
查看次数

警告:refname 'xxx' 不明确

我想知道为什么我收到 refname 不明确的警告?

这是否意味着名称以字符串开头的分支不超过两个?但是这里没有。

谢谢。

$ git checkout  B03799
warning: refname 'B03799' is ambiguous.
Switched to branch 'B03799'

$ git branch -l
  B03318
  B03318new
  B03318newnew
  B03318newnewQa
  B03336
  B03701
* B03799
  master
  qa
  staging
Run Code Online (Sandbox Code Playgroud)

git

2
推荐指数
1
解决办法
5671
查看次数

标签 统计

git ×4

bash ×1

githooks ×1

scripting ×1