我是Git的新手,我必须将lokal分支的HEAD与远程分支进行比较。
在lokal分支上,我使用以下命令获取HEAD:
git rev-parse --short HEAD
root@debian:xxxx# git rev-parse --short HEAD
469xxx
但是如何获得远程分支的短HEAD? 例如:
https://github.com/openssl/openssl
最新的HEAD是" cded951"
就我而言,获取HEAD并进行比较就可以了。
If local HEAD != remote HEAD do xyz
对于这个检查,我需要我的github分支的远程HEAD。
最好的问候:)
解决方案:
git remote update
if ! git diff --quiet origin/master; then
echo "the branch is different!"
else
echo "the branch is equal!"
fi
答案 0 :(得分:1)
在远程分支的本地副本上运行rev-parse
git fetch
git rev-parse --short origin/master
答案 1 :(得分:1)
检查您的本地分支是否与关联的远程跟踪分支不同(假设您在master
分支上):
git remote update
if ! git diff --quiet origin/master; then
echo "the branch is different!"
fi
你也可以写:
git diff --quiet @{u}
@{u}
指的是远程跟踪分支,因此这适用于跟踪远程分支的任何本地分支。