gpt4 book ai didi

git - "git checkout - ..."中的 -(单破折号)是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 14:25:36 30 4
gpt4 key购买 nike

在我的存储库中,我有一些我想丢弃的更改(假设所有已编辑文件的路径都以 abc_ 开头),使用命令:

git checkout -- abc_*

但是,我打错了,我只用了一个破折号而不是两个破折号:

git checkout - abc_*

看起来该命令并没有丢弃更改,而是添加了更多要提交的更改 - 事实上,它添加了数百个名称以 abc_ 开头的文件(但并非所有文件都在项目!)。

我的问题是:我刚刚做了什么?或者,更准确地说:破折号代表什么?

我能找到的所有答案都解释了两个破折号 (--) 的作用,但我理解这一点。我也相信我理解 git checkout 是如何工作的,包括分支/树状参数或文件路径。我找不到关于单个破折号含义的任何信息,但是 - 破折号也用于指定参数(例如 git checkout -b ...),这使得搜索此命令有问题。

最佳答案

此处的单破折号表示先前的事件分支或分离的 HEAD。

案例一:

git checkout master
git checkout dev

# here - means master
git checkout -

# here - means dev
git checkout -

案例二:

# detached HEAD
git checkout refs/heads/master
# back to master
git checkout master

# detached HEAD again
git checkout -

# master again
git checkout -

因此 git checkout - abc_* 意味着通过替换为先前事件分支或分离的 HEAD 中的内容来覆盖工作树中的路径 (abc_*)。参见 git checkout

关于git - "git checkout - ..."中的 -(单破折号)是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56769964/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com