假设我想使用git add(或其他一些命令行指令 - 我不能使用.gitignore)为*.hi文件添加所有文件EXCEPT.有没有办法做到这一点?到目前为止,我尝试过:
git add '!*.hi'
git add '!(*.hi)'
据我所知,这是你在glob语法中指定否定的方式,也是你在.gitignore中如何做的.然而,对于这两个命令,我收到错误fatal: [pattern] did not match any files.为了它的价值,我正在从Windows Powershell运行这些命令.
一个纯粹的Git方法是将它们全部添加,然后再次从索引中删除那些你不想要的文件:
git add .
git rm --cached *.hi
Run Code Online (Sandbox Code Playgroud)
的--cached需要只从索引中删除它们; 否则你会删除这些文件.请注意,git rm将始终"添加删除"到索引,因此,如果跟踪文件,这可能不是您想要的.然后你应该使用git resetKlas Mellbourn在评论中建议:
git add .
git reset -- *.hi
Run Code Online (Sandbox Code Playgroud)
排除模式是
git add ':!*.hi'
Run Code Online (Sandbox Code Playgroud)
注意冒号。
在 PowerShell 中测试git version 2.28.0.windows.1
我发现这个关于如何在 git 中使用排除模式的答案很有用
| 归档时间: |
|
| 查看次数: |
451 次 |
| 最近记录: |