【实用小技巧】如何把所有的修改文件添加到暂存区而不添加untracked文件(git add -u)

Git Add 中的 -u 参数:轻松更新已跟踪文件的更改

在 Git 的日常使用中,我们经常会遇到这样的情况:对已经跟踪的文件进行了修改,但只想将这些修改(而不是新文件或未跟踪的文件)添加到暂存区。这时,git add 命令的 -u(或 --update)参数就显得尤为实用。本文将通过一个示例来详细介绍 -u 参数的作用和使用方法。

场景描述

假设我们有一个 Git 仓库,其中包含以下文件:

  • example.txt:一个已跟踪的文件,内容如下:

    Line 1: This is the first line.
    Line 2: This is the second line.
    
  • new_file.txt:一个未跟踪的新文件。

现在,我们对 example.txt 进行了以下修改:

  • 将第一行修改为:“Line 1: This is the updated first line.”
  • 在文件末尾添加了一行:“Line 3: This is a new line.”

同时,我们还创建了一个新的文件 another_file.txt,但在这个示例中我们不会对它进行任何操作。

使用 git add -u

我们的目标是只将 example.txt 的修改添加到暂存区,而不包括任何新文件或未跟踪的文件。这时,我们可以使用 git add -u 命令。

  1. 查看当前状态

    首先,让我们使用 git status 查看当前工作区的状态:

    git status
    

    输出可能如下:

    On branch main
    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:   example.txt
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
        new_file.txt
        another_file.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    

    可以看到,example.txt 被标记为已修改但未暂存,而 new_file.txtanother_file.txt 被标记为未跟踪。

  2. 使用 git add -u

    现在,我们运行以下命令:

    git add -u
    

    这个命令会告诉 Git 只将已跟踪文件的更改(即 example.txt 的修改)添加到暂存区。

  3. 再次查看状态

    再次使用 git status 查看状态:

    git status
    

    输出可能如下:

    On branch main
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
        modified:   example.txt
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
        new_file.txt
        another_file.txt
    

    可以看到,example.txt 的修改现在已经被添加到暂存区,而 new_file.txtanother_file.txt 仍然被标记为未跟踪。

总结

通过上面的示例,我们可以看到 git add -u 参数的作用:它只将已跟踪文件的更改添加到暂存区,而不包括任何新文件或未跟踪的文件。这对于只想提交已跟踪文件的更改而不想处理新文件或未跟踪文件的场景非常有用。

使用 git add -u 可以让开发者更加专注于管理已跟踪文件的更改,提高代码提交的质量和可读性。同时,它也可以减少误操作的风险,比如不小心将未准备好的新文件添加到提交中。无论是对于个人开发还是团队协作,掌握并熟练运用 git add -u 都能显著提升版本控制的效率和效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThisIsClark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值