簡體   English   中英

git 根據(文件的)更改類型添加/rm文件

[英]git add/rm files based on the type of change (of the files)

有沒有辦法僅根據修改類型來暫存或取消暫存( git add / git rm )文件?

喜歡:

  • 僅添加/rm 已刪除的文件
  • 僅添加/rm 新文件
  • 僅添加/rm 已修改的文件
  • 僅添加/rm 重命名的文件

根據您可以執行的其他鏈接答案(在 bash 中)

git diff --name-only --diff-filter=D | xargs git add

例如僅添加已刪除的文件。

您可以使用其他差異過濾器選項來修改、新建、重命名文件等。當然,您可以換出git add git reset等。

--diff-filter=[ACDMRTUXB*]

Select 僅文件是

  • A添加
  • C復制
  • D刪除
  • M修改
  • R重命名
  • T改變了他們的類型(模式)
  • U未合並
  • X未知
  • B有他們的配對壞了
  • *全有或全無

可以使用過濾字符的任何組合。

Steven Fontanella給出了大部分答案: git diff --diff-filter將允許您列出已經被 git 跟蹤的文件,或者已經被git add跟蹤的文件。

要列出磁盤上但尚未添加的文件,您需要使用git ls-files

git ls-files --exclude-standard -o

此外,對於文件git檢測到重命名的情況,您將需要處理 git diff 的特定 output 或使用--no-renames renames 選項來刪除文件作為添加的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM