有没有一种有效的方法(在 git 命令上首选)来检查是否例如本地 develop
等于 origin/develop
?当然是在调用 git fetch
之后。
git diffdevelop..origin/develop
是正确的方法吗?
我对更改的文件不感兴趣。我只想要“同步 - 是或否”信息。
我想在 PowerShell 中使用它,所以我会有类似的东西:
$result = iex "git diff develop..origin/develop"
if ($null -eq $result) {
Write-Host "You're in sync"
}
谢谢
最佳答案
git status
将显示此信息,但以人类可读的格式显示,该格式可能随时更改。
您可以通过比较以下输出来确定您的分支和上游分支之间最新的提交是否不同
git rev-parse origin/develop
git rev-parse develop
您可以通过运行来检查是否有暂存但未提交的更改
git write-tree
并在输出的第一行中查找生成的哈希值
git cat-file -p HEAD
要检查您是否有未暂存的更改,请运行
git status --porcelain
并检查输出是否为空(在这种情况下,没有未暂存的更改)。
关于git - 检查本地和远程分支差异的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57378017/