“git checkout - .”和“git checkout -- .”之间的区别

2024-03-29

使用“git checkout”时,我对这两个选项感到有点困惑

我一直用git checkout -- .清除我的工作目录。

但今天当我打字时git checkout - .因为失误。我发现 git 没有错误警报。

我读过git文档,也不知道这是什么-选项确实如此。这很难用谷歌搜索。

那么请问有人对此有任何想法吗?


使用时git checkout, 您可以使用-作为简写@{-1}.
From man git-checkout(强调第二段):

<branch>
    Branch to checkout; if it refers to a branch (i.e., a name that, when
    prepended with "refs/heads/", is a valid ref), then that branch is checked
    out. Otherwise, if it refers to a valid commit, your HEAD becomes
    "detached" and you are no longer on any branch (see below for details).

    As a special case, the "@{-N}" syntax for the N-th last branch/commit
    checks out branches (instead of detaching). You may also specify - which is
    synonymous with "@{-1}".

通过在分支中创建文件来在空存储库中尝试此操作master,在另一个分支中修改它,并使用checkout -来自大师:

$ git init
Initialized empty Git repository in workspace/git-test/.git/

git:(master)  $ echo a > a
git:(master*) $ git add a 
git:(master*) $ git commit
[master (root-commit) 8433343] Add a to master
 1 file changed, 1 insertion(+)
 create mode 100644 a

git:(master)  $ git checkout -b other
Switched to a new branch 'other'

git:(other)   $ echo b > a
git:(other*)  $ git add a 
git:(other*)  $ git commit
[other be2298f] Replace a by b
 1 file changed, 1 insertion(+), 1 deletion(-)

git:(other)   $ git checkout -
Switched to branch 'master'

git:(master)  $ git checkout -- . # no changes (no * next to master in the line below)
git:(master)  $ git checkout - . # checking out files from alternate branch 'other'
git:(master*) $ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   a

git:(master*) $ cat a
b
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“git checkout - .”和“git checkout -- .”之间的区别 的相关文章

  • 全局 git 配置数据存储在哪里?

    使用时git config global要进行设置 它将写入哪个文件 Example git config global core editor blah 我在这些地方找不到它 C Program Files Git etc gitconf
  • 如何在 git 中删除 subversion 远程?

    我有一个最初使用 git svn 创建的 git 存储库 现在我有一个推送到的 git 服务器 但 svn 存储库已丢失 我可以删除 svn 远程吗 如何 您可以编辑 git config文件并删除与要删除的遥控器关联的部分 您要删除的行可
  • 如何使用它们的更改来解决选择冲突?

    My git cherry pick FOO产生了冲突 我可以检查冲突的文件并删除之间的行 lt lt lt lt lt lt lt and 以及冲突标记本身 但我希望有一种更简单的方法 我觉得svn等同于选择theirs conflict
  • Sourcetree 2.1.2.5 - 显示“未提交的更改”,但没有任何待处理的内容

    我有一个以前没有遇到过的问题 即使我没有什么可提交的 并尝试将我的分支重置为 Sourcetree 显示的最新提交Uncommitted changes 根据 Atlassian 论坛的说法 通常有两个原因 您的工作目录中有很多很多未暂存的
  • Git 拉回 master 中的提交?

    一位同事 我们称之为亚伦 被指派翻新网站的一部分作为长期项目 他创建了一个新的 Git 分支 名为aaron 他所有的改变都是在这个分支上进行的 当他工作时 我继续维护整个网站 将我的更改提交给master 最终 Aaron 将他的分支合并
  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • 如何像对待普通目录一样对待嵌套存储库(子模块)?

    我的 WordPress 网站是使用 Git 进行版本控制的 包括wp content plugins 文件夹 现在有一个插件 wp editormd 带有自己的 Git 存储库 wp content plugins wp editormd
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • 具有单独 work_tree 的 Git 子模块

    我按照本页上的教程使通过 Git 部署我的网站变得简单 http toroid org ams git website howto http toroid org ams git website howto 到目前为止一切都很好 但是我最近
  • 为什么cherry-pick总是会导致合并冲突?

    我正在从发布分支中挑选特定的提交到我的本地工作副本中 每次我从发布分支中挑选一个提交时 我都会遇到必须解决的合并冲突 即使更改看起来微不足道 例如 const char kApplicationVersion Develop const c
  • Windows 版 GitKraken 中的文件名太长

    正如建议的Q22575737 https stackoverflow com a 22575737 6623589 我已经更新了我的注册表并设置了git config system core longpaths true在处理长路径时 问题
  • 交互式变基后,本地 Git 分支已偏离原始分支

    我有一个本地分行 CRM ayrshireminis 其中有一些我已推送到原点的提交 origin CRM ayrshireminis 这个分支是从创建的develop大约一周前的一个分支 其他合作者已经在该分支上完成了一周的工作 我想做的
  • 如何在 Windows 上向 git 存储库添加符号链接?

    我使用 GitHub 的电子环境编译 OS X 的二进制文件 并希望将输出添加到 git 存储库 我试过 git add error readlink sulu app Contents Frameworks Electron Framew
  • git 预提交钩子格式代码 - Intellij/Android Studio

    本要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码 Source https gist github com ktoso 708972 https gist github com ktoso 708972
  • 无法使用 git 配置文件进行 ssh

    我知道它被问了很多次 但我无法得到我的问题的答案 我正在尝试使用配置文件 ssh 到系统 配置文件是 Host qa HostName 10 218 70 345 User user IdentityFile C Users bean ss
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 推送时发生 Git 错误 - update_ref 失败

    当我尝试推送本地提交时遇到问题 这可能是在 Android Studio 崩溃时发生的 这是错误 update ref 引用 refs remotes origin master 失败 无法锁定 ref refs remotes origi
  • git - 更新 fork 的 master 并将我的分支重新建立到它之上?

    我分叉了一个 github 项目 然后将其克隆到本地 然后我在新分支中做了一些更改my github the project repo 然后我添加并提交了更改 并推送到我的 github 存储库并提交了拉取请求 所有者已收到我的请求 并希望

随机推荐

  • 从另一个项目将外部资源添加到gradle中的jar中

    我有一个项目 有一个 资源 库 不是基于java的 它仅包含多个 java 项目使用的文件层次结构 library files binaries etc 在我的一个java项目中 我想将这些文件包含在组装的jar文件中 current de
  • LOH 碎片 - 2015 年更新

    有大量有关 NET LOH 的信息 并且已在各种文章中进行了解释 不过 有些文章似乎缺乏一点精确性 过时的信息 In Brian Rasmussen 的回答 2009 Microsoft 项目经理 https stackoverflow c
  • 如何增加 swift int 枚举

    我有一个快速枚举 enum MainState Int case NotStarted case Init case AskWhatToText case RecordWhatToText var state MainState NotSt
  • ActiveRecord查询别名字段名输出

    假设我有一张桌子World 我有一个名为foo表内 我想查询的是World表并选择foo 但我想将其别名为bar在后续转换为 JSON 输出时 有什么方法可以为这一 ActiveRecord 查询设置字段名称的别名吗 不希望在整个应用程序中
  • 从文本文件中读取矩阵并将其存储在二维数组中

    我一直在尝试将矩阵输入存储在数组中的文本文件中 但它显示了特殊的输出 这是代码 include
  • WinRT 组件能否在 Windows 7 中工作[重复]

    这个问题在这里已经有答案了 我读到Windows有来自Windows 8的新API 它被称为WinRT 我打算使用它 但我担心Windows 7 My Goal 我计划构建一种新的编程语言并使用它 但为了使其可用 它必须具有 Gui 编程
  • 学说:两个数据库中两个实体之间的关系

    我正在使用 MySQL 和 Doctrine 2 与 Symfony 3 我想在两个独立数据库中的两个实体之间建立多对多关系 我认为 Doctrine 无法处理这个问题 至少不能以原生方式处理 无论如何 为了执行此操作 我正在使用schem
  • 使用模板:首先解决运算符还是首先解决转换?

    我昨天看到了一些有趣的编译器行为 我想我明白为什么会发生这种情况 但我想确定一下 所以 我不会写我的推理 只写事实 请注意 这不是我包含的拼写错误vector代替string 我是故意这样做的 这样编译器就无法理解 std string 是
  • 如何使用计时器对图像应用淡入淡出过渡效果?

    我正在尝试在两个 PictureBox 控件之间进行淡入淡出过渡 我使用计时器来更改两个 PictureBox 的不透明度GetPixel and SetPixel每当时间流逝 在这个阶段 问题是这段代码引发了异常 System Inval
  • for循环的优化

    我正在编写一些 C 代码 目前应该尽可能快地运行 通常以 100 的速度占用单个核心约 25 分钟 我需要代码保持单核 因为跨多个核运行此代码的好处不会像同时多次运行此项目那样大 有问题的代码如下 public Double UpdateS
  • System.Reflection.TargetInitationException 未被捕获

    解决方案后添加的注释 在反射调用的方法中抛出了 AccessViolationException 这就是无法捕获 TargetInitationException 的原因 注意 这是在 IDE 外部 引用的问题不相同 https stack
  • 如何在 JFileChooser 中指定默认的新目录名称?

    在 Java 程序中 我想显示一个 JFileChooser 用户只需选择一个将写入多个输出文件的目录名 所以 mychooser setFileSelectionMode JFileChooser DIRECTORIES ONLY 这很容
  • AssertionError:unstack() 数据帧时 blk ref_locs 中存在间隙

    我正在尝试 unstack Pandas 数据框中的数据 但我不断收到此错误 我不知道为什么 这是到目前为止我的代码和我的数据示例 我尝试修复它是删除 voteId 不是数字的所有行 这不适用于我的实际数据集 当我部署代码时 在 Anaco
  • 如何在android中使用Room Persistence Library查询嵌套的嵌入式对象?

    考虑我有 3 个类用户 地址 位置 class Address public String street public String state public String city ColumnInfo name post code pu
  • 在 Coq 中查找 ++ 等定义和符号

    我们如何获得这些符号的定义 类型 例如 or of List 我努力了 Search Search Search SearchAbout and Check Check Check 然而它们都不起作用 SearchAbout 确实显示了一些
  • JNI JVM 调用类路径

    我正在使用 Cygwin 编写一个小型 C 程序 该程序启动 Java 虚拟机 我使用的库需要 POSIX 环境 到目前为止 只要将所有类放在与可执行文件相同的文件夹中 我就可以让它工作 但是 我想指定一个实际的 JAR 文件 其中包含我要
  • 如何使用单独调用函数的值快速填充 numpy 数组

    我想用生成的值填充 numpy 数组 这些值由生成器函数生成 数组长度不太长 通常 到目前为止 我已经可以使用 vanilla python 做到这一点 def generate return generated data array np
  • lein Figwheel 与 lein cljsbuild auto

    lein Figwheel 和 lein cljsbuild auto 有什么区别 因为我相信它们都是用来编译 clojurescript 的 另外 使用其中一种比另一种有什么好处吗 Figwheel 它们都是 lein 插件 但 Figw
  • 如何在 Flutter 中更改 ColorTween 颜色

    当我在 Flutter 中调用 setState 时 我想更改 ColorTween 中的颜色 这是我的动画图像 import dart async import package flutter material dart import p
  • “git checkout - .”和“git checkout -- .”之间的区别

    使用 git checkout 时 我对这两个选项感到有点困惑 我一直用git checkout 清除我的工作目录 但今天当我打字时git checkout 因为失误 我发现 git 没有错误警报 我读过git文档 也不知道这是什么 选项确