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


Julia LibGit2.reset!用法及代碼示例


用法一

reset!(payload, [config]) -> CredentialPayload

payload 狀態重置回初始值,以便在憑證回調中再次使用它。如果提供了config,配置也會被更新。

用法二

更新目標提交樹的索引中由 pathspecs 確定的一些條目。

用法三

將當前頭部設置為指定的提交 oid,並可選擇重置索引和工作樹以匹配。

用法四

git reset [<committish>] [-] <pathspecs>...

用法五

reset!(repo::GitRepo, id::GitHash, mode::Cint=Consts.RESET_MIXED)

使用 mode 設置的三種模式之一將存儲庫 repo 重置為 id 的狀態:

  1. Consts.RESET_SOFT - 將 HEAD 移動到 id
  2. Consts.RESET_MIXED - 默認,將 HEAD 移動到 id 並將索引重置為 id
  3. Consts.RESET_HARD - 將 HEAD 移動到 id ,將索引重置為 id ,並丟棄所有工作更改。

例子

# fetch changes
LibGit2.fetch(repo)
isfile(joinpath(repo_path, our_file)) # will be false

# fastforward merge the changes
LibGit2.merge!(repo, fastforward=true)

# because there was not any file locally, but there is
# a file remotely, we need to reset the branch
head_oid = LibGit2.head_oid(repo)
new_head = LibGit2.reset!(repo, head_oid, LibGit2.Consts.RESET_HARD)

在此示例中,從 does 獲取的遙控器在其索引中有一個名為 our_file 的文件,這就是我們必須重置的原因。

等效於 git reset [--soft | --mixed | --hard] <id>

例子

repo = LibGit2.GitRepo(repo_path)
head_oid = LibGit2.head_oid(repo)
open(joinpath(repo_path, "file1"), "w") do f
    write(f, "111
")
end
LibGit2.add!(repo, "file1")
mode = LibGit2.Consts.RESET_HARD
# will discard the changes to file1
# and unstage it
new_head = LibGit2.reset!(repo, head_oid, mode)

相關用法


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