警告:您运行'git add'既没有'-A( - all)'或'--ignore-removal'

时间:2014-04-12 07:41:52

标签: git

我尝试将我的文件添加到git中另一个分支上的暂存。基本上我做了以下

  1. git checkout -b <newBranch>
  2. 修改了新分支中的一些文件
  3. git add。
  4. 但得到了以下警告(我没有在SO中找到这样的东西,令人惊讶的是谷歌搜索。这对我来说非常令人惊讶):

      

    警告:您运行的'git add'既没有'-A( - all)'也没有   '--ignore-removal',其行为将在Git 2.0中改变   尊重你删除的路径。路径就好   从您的工作中删除的'thePathToFileIDeleted'   这个版本的Git忽略了树。

         
        
    • 'git add --ignore-removal'(当前默认值)会忽略您从工作树中删除的路径。

    •   
    • 'git add --all'会让你记录删除。

    •   
         

    运行'git status'以检查您从工作中删除的路径   树。

    有谁知道这是什么意思,在下列情况下我该怎么办?我的git version 1.8.3.2

3 个答案:

答案 0 :(得分:28)

这是说您应该使用git add -Agit add --ignore-removal .,因为git add .在较新版本的git中会有不同的行为。由于它说当前版本将忽略已删除的路径,我最好的猜测是下一个版本将默认包含它们。

它希望您明确表示您是否要在当前目录中暂存已删除的路径。

如果要添加已删除的路径,则应使用git add -A

如果您不想添加已删除的路径,则应使用git add --ignore-removal .

我认为它只是试图警告你,以便你知道你的命令会做一些意想不到的事情(即与现在不同)如果你升级git,所以你可以采取以上两个选项之一或只是做一个笔记即将到来的变化并继续前进,理解您当前忽略了已删除的路径。

答案 1 :(得分:0)

显然现在这不是什么大问题,因为在我的情况下一切正常(我能够提交我的阶段,合并分支并将所有内容推送到服务器而没有任何问题)。

我遇到的问题是因为我删除了一些文件(我之前使用类似的程序很长时间没有警告)。根据我的理解,git只是告诉我当前的格式已被弃用,并将在版本2中更改。看起来我必须使用git add -A来实际从暂存中删除我的文件。

答案 2 :(得分:0)

我也遇到同样的问题。 我的情况:

  • 存在一个名为ABC的目录
  • 删除目录
  • 创建新的符号链接名称ABC指向一个DEF目录。
  • 运行git status。发生问题了。

解决方案:属于您的目标。

  • 您可以运行这两个命令之一。
  • 或创建新目录以备份DEF符号链接的ABC目录。因此,您可以通过git跟踪它们。