當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Julia LibGit2.merge!方法用法及代碼示例

用法一

merge!(repo::GitRepo, anns::Vector{GitAnnotated}; kwargs...) -> Bool

將注釋提交中的更改(捕獲為 GitAnnotated 對象)anns 合並到存儲庫的 HEAD repo 中。關鍵字參數是:

  • merge_opts::MergeOptions = MergeOptions() :如何執行合並的選項,包括是否允許快進。有關詳細信息,請參閱 MergeOptions
  • checkout_opts::CheckoutOptions = CheckoutOptions() :如何執行結帳的選項。有關詳細信息,請參閱 CheckoutOptions

anns 可以指遠程或本地分支頭。如果合並成功,則返回true,否則返回false(例如,如果由於分支沒有共同的祖先而無法合並)。

例子

upst_ann = LibGit2.GitAnnotated(repo, "branch/a")

# merge the branch in
LibGit2.merge!(repo, [upst_ann])

用法二

merge!(repo::GitRepo, anns::Vector{GitAnnotated}, fastforward::Bool; kwargs...) -> Bool

將注釋提交中的更改(捕獲為 GitAnnotated 對象)anns 合並到存儲庫的 HEAD repo 中。如果 fastforwardtrue ,則 only 允許快進合並。在這種情況下,如果發生衝突,合並將失敗。否則,如果 fastforwardfalse ,則合並可能會產生用戶需要解決的衝突文件。

關鍵字參數是:

  • merge_opts::MergeOptions = MergeOptions() :如何執行合並的選項,包括是否允許快進。有關詳細信息,請參閱 MergeOptions
  • checkout_opts::CheckoutOptions = CheckoutOptions() :如何執行結帳的選項。有關詳細信息,請參閱 CheckoutOptions

anns 可以指遠程或本地分支頭。如果合並成功,則返回true,否則返回false(例如,如果由於分支沒有共同的祖先而無法合並)。

例子

upst_ann_1 = LibGit2.GitAnnotated(repo, "branch/a")

# merge the branch in, fastforward
LibGit2.merge!(repo, [upst_ann_1], true)

# merge conflicts!
upst_ann_2 = LibGit2.GitAnnotated(repo, "branch/b")
# merge the branch in, try to fastforward
LibGit2.merge!(repo, [upst_ann_2], true) # will return false
LibGit2.merge!(repo, [upst_ann_2], false) # will return true

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 LibGit2.merge! — Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。