2 回答

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

TA貢獻1757條經驗 獲得超7個贊
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 關注
- 168 瀏覽
添加回答
舉報