当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。