- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
几个月前我升级了 Git,从那以后我在尝试时收到了以下弃用通知 git add --update
:
Warning: The behavior of 'git add --update (or -u)' with no path argument from a subdirectory of the tree will change in Git 2.0 and should not be used anymore. To add content for the whole tree, run:
git add --update :/ (or git add -u :/)
To restrict the command to the current directory, run:
git add --update . (or git add -u .)
With the current Git version, the command is restricted to the current directory.
.
或
:/
,但仍然觉得后者很奇怪,因为它与我遇到的任何其他命令行语法都不一样。
.
是一个很好的标记:它只是意味着“当前目录”,就像在
find .
中一样,但是
:/
... 从未见过,除非在这种情况下。这是什么意思?
最佳答案
编辑,2019 年 11 月 :我已经替换了这个答案,因为原来的答案比正确的多,真的。:/
git add
的语法使用 Git 所谓的路径规范。路径规范在 the gitglossary 中定义.值得一提的是:
和 :/
在 gitrevisions syntax 中有完全不同的含义,它被许多其他命令使用,但不被 git add
使用.对于这些其他用途,请参阅 VonC's answer .
在路径规范中,冒号字符 :
后面应该是各种修饰符的长形式或短形式。在修饰符之后,剩下的要么是一个模式,要么是一个被视为文件名的简单字符串。:/
使用缩写形式。在缩写形式中,冒号后的每个识别字符都有一些特殊的含义。 /
字符意味着在工作树的顶部。 1
冒号后任何无法识别的字符都是剩余内容的一部分。在这种情况下,整个序列是冒号和斜线,所以没有留下任何东西。但是,如果您写了 :/README
,这意味着工作树顶部的文件自述文件。
也就是说,假设您位于名为 sub/
的子目录(子文件夹)中。 ,它有一个 README
文件也是如此。然后:
git add README
sub/README
(因为你在
sub
),但是:
git add :/README
git add ../README
(
, 然后是任意多的长格式名称,以逗号分隔。以克隆括号结束序列
)
.2 例如,你可以写
:(top,icase)readme
表示名为
readme
的文件, 或
ReadMe
, 或
README
,或任何其他疯狂的混合案例,在工作树的顶部。一些命令行解释器可能需要括号表达式周围的引号:
git add ":(top,icase)readme"
.
.
具有相同的含义。到 Git。所以
:/:
或
:(top)
表示与
:/:.
相同或
:(top).
.这会命名工作树中的每个文件。3 离开终止
:
在 pathspec 语法中是可以的,所以
:/
也意味着工作树中的每个文件。
!
和
^
,都表示“排除”。所以用冒号形式,你可以写
:/
或
:^
或
:!
,或将它们与
:/!
结合使用.
:/:!
如果要添加名为
!
的文件那是在工作树的顶部。路径规范
:/!:!
表示不添加文件
!
那是在树的顶端;这仅在您说添加多个树顶文件时才有意义,例如,
git add :/!:! :/:.
将添加除顶级文件之外的所有文件
!
.
:/:
是正确的,并且
:(top)
是正确的,但是
:(top):
是错的!这让我时不时地绊倒。
.gitignore
规则当然适用。请记住,任何被跟踪的文件——任何现在在索引中的文件——都不会被忽略!
git ls-files --stage
看到),但是——无论出于何种原因——现在不在工作树中。
$ git checkout master
file
的文件由于
master
的提示提交,在工作树中包含名为
file
的文件.然后我们这样做:
$ rm file
file
仍然在索引中,但不再在工作树中。一个
git status
此时会说:
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: file
no changes added to commit (use "git add" and/or "git commit -a")
git add
现在将删除文件
file
从索引。这包括
git add :/
以及
git add file
:
$ git add :/
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: file
--ignore-removal
选项:
$ git reset --hard
HEAD is now at 29c2e68 initial
$ git add --ignore-removal :/
$ git status
On branch master
nothing to commit, working tree clean
:/
但想跳过更新(即删除)已删除的文件,请使用
--ignore-removal
. Git 2.x 中的默认设置也是“添加删除”。
关于git - 2.0 版本的 git add --update 语法中 :/(colon, 正斜杠是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949074/
我有一个加号/减号按钮,希望用户不能选择超过 20 个但不知道如何让它工作。我尝试使用 min="1"max="5 属性,但它们不起作用。这是我的代码和一个 fiddle 链接。https://jsf
我正在尝试复制顶部底部图,如示例 here但它没有正确渲染(紫色系列有 +ve 和 -ve 值,绿色为负值)留下杂乱的人工制品。我也在努力创建一个玩具示例来复制这个问题,所以我希望尽管我缺乏数据,但有
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 6 年前。 社区去年审查了是
这个问题在这里已经有了答案: Adding two positive integers gives negative answer.Why? (4 个答案) 关闭 5 年前。 我遇到了一个奇怪的问题
有谁知道如何将字符串值类型 -4,5 或 5,4 转换为 double -4.5 或 5.4? 最佳答案 只需使用 Double.parseDouble(Locale, String); 糟糕,我很困
我正在尝试根据 TextBlob 分类插入一个仅包含“正”或“负”字符串的新数据框列:对于我的 df 的第一行,结果是 ( pos , 0.75, 0.2499999999999997)我想要' 正
我对 VBA 非常陌生,无法理解如何在一个循环中完成 2 个任务。我非常感谢您的帮助。 我已经能够根据第 3 列中的数据更改第 2 列中的数值,但我不明白如何将负值的字体更改为红色。 表格的大小每月都
欢迎, 我正在使用 jquery 通过 POST 发送表单。 这就是我获得值(value)的方式。 var mytext = $("#textareaid").val(); var dataStrin
double d = 0; // random decimal value with it's integral part within the range of Int32 and always p
我有这个字符串: var a='abc123#xyz123'; 我想构建 2 个正则表达式替换函数: 1) 用 '*' 替换所有确实有 future '#'的字符(不包括'#') 所以结果应该是这样的
我正在使用 DialogFragment。当用户从 Gmail 平板电脑应用程序的屏幕与下面示例图片中的编辑文本进行交互时,我希望正面和负面按钮保持在键盘上方。 在我的尝试中不起作用,这是我的 Dia
从组装艺术一书中,我复制了这句话: In the two’s complement system, the H.O. bit of a number is a sign bit. If the H.O
是否有更好更优雅的方法来实现下面的简单代码(diffYear、A 和 B 是数字): diffYear = yearA - yearB; if (diffYear == 0) { A = B
我正在设计一种语言,并尝试确定 true 应该是 0x01 还是 0xFF。显然,所有非零值都将转换为 true,但我正在尝试确定确切的内部表示。 每种选择的优点和缺点是什么? 最佳答案 没关系,只要
在我的 dialogfragment 类的 OnCreateDialog 中,我正在这样做: AlertDialog.Builder builder = new AlertDialog.Builder
这个问题在这里已经有了答案: Resolving ambiguous overload on function pointer and std::function for a lambda usin
我偶然发现了一个奇怪的 NSDecimalNumber 行为:对于某些值,调用 integerValue、longValue、longLongValue 等,返回意想不到的值(value)。示例: l
这个问题在这里已经有了答案: Resolving ambiguous overload on function pointer and std::function for a lambda using
我有这个正则表达式来测试用户输入是否有效: value.length === 0 || value === '-' || (!isNaN(parseFloat(value)) && /^-?\d+\.
我想用高斯混合模型拟合数据集,数据集包含大约 120k 个样本,每个样本有大约 130 个维度。当我使用 matlab 执行此操作时,我运行脚本(簇号为 1000): gm = fitgmdist(d
我是一名优秀的程序员,十分优秀!