git - 如何查看本地 git repo 和远程 repo 是否是相同的提交?

标签 git github

我有一个本地 git 仓库,还有一个远程 git 仓库。什么是查看远程仓库的提交以及本地仓库的提交的简单命令,以便我可以简单地查看我是否是最新的?

这将在程序中自动执行,所以我不想解析很多复杂的东西。最好让本地和远程输出相同的文本,只有提交在两者之间发生变化。有什么想法吗?

最佳答案

程序化解决方案

如果你想要一个程序化的解决方案,你可以查看存储在每个头中的提交并进行比较。例如:

remote=$(
    git ls-remote -h origin master |
    awk '{print $1}'
)
local=$(git rev-parse HEAD)

printf "Local : %s\nRemote: %s\n" $local $remote

if [[ $local == $remote ]]; then
    echo "Commits match."
else
    echo "Commits don't match."
fi

示例输出

Local : 9e1b4dc286acb442f7f604be7916db660b9d70cd
Remote: 9e1b4dc286acb442f7f604be7916db660b9d70cd
Commits match.

关于git - 如何查看本地 git repo 和远程 repo 是否是相同的提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11179264/

相关文章:

git - 为什么在升级版本时会出现 merge 冲突?

git - 我应该如何使用 .gitignore?

Windows 上的 Git Diff 和 Meld

git子模块指定版本

javascript - 如何通过 Github API 将内容上传到隐藏文件夹名称?

ios - 将项目集成到单个项目中

git - 如何为 pull 请求设置默认 fork ?

github - 是否可以在 Google Cloud Composer 上安装 github 存储库

android - 我应该在公共(public) GitHub 存储库中包含 build.gradle 文件吗?

bash - 从GitHub存储库克隆/下载特定文件