如何在 Git 中提交除一个文件外的所有文件(.)?

4

大家好,我在几个文件上执行了 git rm 操作,并修改了一个文件。我想知道如何使用 git commit .命令来提交已删除的文件但不包括已修改的文件。

是否有类似的操作呢?

git commit -m "Files deleted" . -exclude scripts/process_old_FBA_orders.php

以下是我的git状态
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    help/he_about.html
    deleted:    help/he_glossary.html
    deleted:    help/he_index.html
    deleted:    help/he_jadmin/ad_index.html
    deleted:    help/he_jadmin/ad_server_info.html
    deleted:    help/he_jadmin/ad_users.html
    deleted:    help/he_orders/or_index.html
    deleted:    help/he_products/pr_index.html
    deleted:    help/he_reports/re_index.html
    deleted:    help/he_setup/se_index.html
    deleted:    help/he_stock/st_index.html
    deleted:    help/he_stock/st_needed_items.html
    deleted:    help/he_stock/st_purchase_orders.html
    deleted:    help/he_stock/st_stock_orders.html
    deleted:    help/he_stock/st_stocked_items.html
    deleted:    help/he_stock/st_suppliers.html
    deleted:    help/he_stock/st_suppliers_items.html

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   scripts/process_old_FBA_orders.php

2
只需提交,您修改的文件尚未暂存。 - Aitch
仅做提及,git commit -m 'some message' 通常是一个不好的选择,无论是否指定要提交的路径。一个好的提交信息通常不适合单行显示。 :P 而且让编辑器启动也可以让您看到即将提交的内容。 - cHao
你想删除帮助文件,但不想改变脚本吗?在这种情况下,你可以简单地执行 git commit -m 'Files deleted' help/ - Alexey Ten
2个回答

4

如果只有一个或两个文件,我认为可以将所有文件添加后再重置不需要的文件。

$ cd /path/to/repo
$ git add .
$ git reset /path/to/unwanted/file 
$ git commit -m 'commit message'

您可以重置整个目录 $ git reset /path/to/directory/

2

只需运行git commit -m“Files deleted”。未暂存的更改(如git status中指定的)不会被提交。


这个答案在技术上是正确的,但只适用于OP遇到的确切情况。也就是说,它不是一个通用的答案,而是依赖于类似于OP拥有的状态:一组已删除的文件和一个已更改的文件。如果它试图回答更通用的标题,那么它将缺少信息才能完整。 - Roel Van de Paar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接