我有一个本地git repo,我有一个远程git repo。什么是一个简单的命令来查看提交远程仓库的是什么,以及本地仓库的提交是什么,所以我可以简单地看看我是否是最新的?
这将在一个程序中自动执行,所以我不想要很多复杂的东西,我将不得不解析。优选地,具有本地和本地两者都是很酷的。远程输出相同的文本,只有两者之间的提交更改。有什么想法吗?
答案 0 :(得分:6)
如果您需要程序化解决方案,可以查看存储在每个头中的提交并进行比较。例如:
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.
答案 1 :(得分:1)
假设您的远程存储库由远程origin
引用,并且您对分支master
感兴趣,则可以执行以下操作:
git fetch origin
然后比较输出:
git rev-parse master
......和:
git rev-parse origin/master
如果这两个命令输出的对象名称相同,那么master
和master
中的origin
在git fetch origin
时相同跑了。