我有一个本地 git repo,我有一个远程 git repo。什么是查看远程 repo 提交和本地 repo 提交的简单命令,所以我可以简单地查看我是否是最新的?
这将在程序中自动化,所以我不想要很多复杂的东西,我必须解析。最好让本地和远程输出相同的文本很酷,只有提交在两者之间发生变化。有任何想法吗?
如果您想要一个编程解决方案,您可以查看存储在每个 head 中的提交并进行比较。例如:
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.
假设您的远程存储库被远程引用origin
,并且您对分支感兴趣master
,您可以执行以下操作:
git fetch origin
然后比较输出:
git rev-parse master
... 和:
git rev-parse origin/master
如果这两个命令输出的对象名称相同,则运行时 yourmaster
和master
inorigin
相同git fetch origin
。