我正在尝试使用“生成”文本添加(编辑:删除操作)这些文件,但它不起作用。我正在使用PowerShell。
# deleted: Apica.WebPerformance.Web.Controllers/SharedController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/SidebarController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/SubscriptionController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/ToolsController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/UnauthorizedController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/UrlCheckController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/UrlCheckWizardController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/UserSessionContextController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/UserSessionContextDataController.generated.cs
# modified: Apica.WebPerformance.Web.Controllers/ViewModels/Checks/CheckListViewModel.cs
# modified: Apica.WebPerformance.Web.Controllers/ViewModels/Checks/ChecksOverviewViewModel.cs
# deleted: Apica.WebPerformance.Web.Controllers/WebSocketCheckWizardController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/WebSocketJmsCheckWizardController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/WidgetsController.generated.cs
# deleted: Apica.WebPerformance.Web.Controllers/WizardController.generated.cs
# modified: Apica.WebPerformance.Web/Assets/Common/Css/jquery.multiSelect.css
# modified: Apica.WebPerformance.Web/Views/Examples/MultiSelect.cshtml
#
C:\git_apica\WebPerformance.Web [ViewModelRefactor +6 ~2 -0 | +0 ~6 -52]> git add *generated.cs
C:\git_apica\WebPerformance.Web [ViewModelRefactor +6 ~2 -0 | +0 ~6 -52]> git add '*generated.cs'
C:\git_apica\WebPerformance.Web [ViewModelRefactor +6 ~2 -0 | +0 ~6 -52]> git add '*generated*'
C:\git_apica\WebPerformance.Web [ViewModelRefactor +6 ~2 -0 | +0 ~6 -52]> git add \*generated.cs
C:\git_apica\WebPerformance.Web [ViewModelRefactor +6 ~2 -0 | +0 ~6 -52]> git add '*generated.cs'
C:\git_apica\WebPerformance.Web [ViewModelRefactor +6 ~2 -0 | +0 ~6 -52]>
这些命令实际上都没有任何东西。然而,它逐个文件地工作。
答案 0 :(得分:2)
也许这就是好先生
find | grep generated.cs | xargs git add
答案 1 :(得分:2)
您的命令看起来有两个小问题
*
。您想要暂存已删除的文件。有两种方法可以在每个已删除的文件中调用git rm <file name>
或使用-u
命令的add
标志。
从文档(强调我的):
-u
--update
仅匹配索引中已跟踪的文件而不是工作树。这意味着它永远不会暂存新文件,但是它会暂存已修改的跟踪文件的新内容,并且如果已删除工作树中的相应文件,它将从索引中删除文件。 / p>
git add -u *\*.generated.cs
应该有用。
答案 2 :(得分:0)
这里的问题是通配符只会扩展到文件系统上的文件名(因为shell正在进行扩展,而不是git
)。由于您已删除文件系统中不存在的文件,因此您需要使用其他命令。添加删除操作有两种简单的方法。
git add -u
这会将所有修改(包括删除)添加到索引中。
git add full/path/to/deleted/file
将添加删除。
或者,如果您使用git rm
删除文件,则会自动为您添加删除操作。
要获取已删除文件名的列表,此命令应该起作用:
git status --porcelain | awk '/^ D/ {print $2}'
然后你可以像Steven Penny建议的那样将结果传递给xargs
。