2 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是在go-git
問題 1161中提出的請求,并在go-git
v4.12.0中通過PR 1096和PR 1097交付。
您可以使用該命令檢查和 的merge-base
共同祖先是否相同(您已經(jīng)推送了所有內(nèi)容)或不同(您有尚未推送的本地提交,或者相反,您落后了)master
origin/master
origin/master

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
func main() {
? dir, err := os.Getwd()
? CheckIfError(err)
? repo, err := git.PlainOpen(dir)
? CheckIfError(err)
? revision := "origin/master"
? revHash, err := repo.ResolveRevision(plumbing.Revision(revision))
? CheckIfError(err)
? revCommit, err := repo.CommitObject(*revHash)
? CheckIfError(err)
? headRef, err := repo.Head()
? CheckIfError(err)
? // ... retrieving the commit object
? headCommit, err := repo.CommitObject(headRef.Hash())
? CheckIfError(err)
? isAncestor, err := headCommit.IsAncestor(revCommit)
? CheckIfError(err)
? fmt.Printf("Is the HEAD an IsAncestor of origin/master? : %v\n",isAncestor)
}
- 2 回答
- 0 關(guān)注
- 164 瀏覽
添加回答
舉報(bào)