首页 > 其他分享 >"git add -A" 和 "git add ." 的区别

"git add -A" 和 "git add ." 的区别

时间:2023-10-27 11:59:38浏览次数:35  
标签:me git 更改 区别 add change delete

内容来自 DOC[ https://q.houxu6.top/?s="git add -A" 和 "git add ." 的区别](https://q.houxu6.top/?s="git add -A" 和 "git add ." 的区别)

"git add [--all | -A]" 和 "git add ." 的区别


这个答案只适用于 Git 1.x版本。对于Git 2.x版本,请查看其他答案。


总结:

  • git add -A 处理所有更改
  • git add . 处理新文件和修改(不包括删除),针对当前目录及其子目录。
  • git add -u 处理修改和删除,不包括新文件

详细说明:

git add -A 等同于 git add .; git add -u

关于 git add . 的要点是,它会查看工作树并将所有路径添加到暂存的更改中,前提是它们已被更改或新增且未被忽略,它不会暂存任何 'rm' 操作。

git add -u 会查看所有已跟踪的文件,并对这些文件进行更改,前提是它们有所不同或者已被删除。它不会添加任何新文件,只会暂存已跟踪文件的更改。

git add -A 是执行这两个操作的便捷快捷方式。

你可以使用以下内容测试不同之处(请注意,对于Git 2.x版本,你的 git add . git status 输出将会有所不同):

git init
echo Change me > change-me
echo Delete me > delete-me
git add change-me delete-me
git commit -m initial

echo OK >> change-me
rm delete-me
echo Add me > add-me

git status
# 已更改但未更新:
# modified: change-me
# deleted: delete-me
# 未跟踪的文件:
# add-me

git add .
git status

# 待提交的更改:
# new file: add-me
# modified: change-me
# 已更改但未更新:
# deleted: delete-me

git reset

git add -u
git status

# 待提交的更改:
# modified: change-me
# deleted: delete-me
# 未跟踪的文件:
# add-me

git reset

git add -A
git status

# 待提交的更改:
# new file: add-me
# modified: change-me
# deleted: delete-me

标签:me,git,更改,区别,add,change,delete
From: https://www.cnblogs.com/xiaomandujia/p/17791923.html

相关文章

  • Controller 中的请求方法,private 和 public有什么区别?别用错了!
    作者:hinotoyk链接:https://juejin.cn/post/6910215219822362632背景:某日在公司中撸代码的时候,在一个常用的controller中添加一个方法,测试时突然报错说注入的service为null,捣鼓一阵发现后是方法修饰符写成private,修改成public后搞定。为什么会产生这个问题呢?就自己测试一下是哪......
  • GitHub 快速入门
    GitHub的介绍GitHub是一个在线平台,旨在促进在一个共同项目上工作的个人之间的代码托管、版本控制和协作。通过该平台,无论何时何地,都可以对项目进行操作(托管和审查代码,管理项目和与世界各地的其他开发者共同开发软件)。GitHub平台为开源项目和私人项目都提供了项目处理功能。关......
  • C++ invoke与function的区别
    C++invokeinvoke是C++17标准引入的一个函数模板,用来调用可调用对象(CallableObject,如函数指针、函数对象、成员函数指针等)并返回结果。invoke提供了统一的调用语法,无论可调用对象的类型是什么,都可以使用同一种方式进行调用。详见:https://en.cppreference.com/w/cpp/utility/fu......
  • 2023-10-26 hexo部署到GitHub时css样式不生效 ==》 css文件链接被识别为不安全链接,导
    hexod一键部署后查看效果发现博客页面的样式全丢失了,查看控制台发现了端倪:MixedContent:Thepageat'https://xxx.github.io/'wasloadedoverHTTPS,butrequestedaninsecurestylesheet'http://xxx.com/lib/font-awesome/css/font-awesome.min.css?v=4.6.2'.Thisre......
  • gitee 上传提示文件过大的暴力解决方法
    因为经常遇到上传文件过大,每次都是重新拉在复制过去,今天无聊就想彻底解决一下这个问题。 Gitee的免费版本只能上传单个文件小于100M利用红色框的命令行查找出是哪个文件,下面红色文字是我查找的文件,然后执行下面命令行,即可上传成功。gitfilter-branch--force--index-filte......
  • 外科手术式深入剖析--->函数的传值调用与传址调用的区别
    博主主页:@威化小餅干......
  • String和StringBuffer的区别
    String和StringBuffer是Java中两种用于处理字符串的不同类,它们之间有一些重要的区别。 可变性:String 是不可变的(immutable):一旦创建了一个 String 对象,就不能更改它的内容。每次对 String 进行修改操作(例如拼接字符串),都会创建一个新的 String 对象。这可能会导致......
  • Unity Addressable资源管理方案实战详解
    Unity推出了全新的Addressable的资源管理方案, 全网一夜间觉得不用Addressable感觉自己的资源管理方案会低一个档次,本节我们将详细的分析Addressable资源管理系统。本节主要从以下3个点来进行分析:(1) Addressable的本质是什么?AssetsBundle是否过时了?(2) Assetsbundle使用实......
  • git相关记录
    #gitpull默认merge#查看配置文件gitconfig-l#如果有pull.rebase=true(这个看公司要求)#执行以下命令gitconfig--global--unsetpull.rebase#忽略大小写,Mac大小写不敏感gitconfigcore.ignorecasefalse......
  • GitHub太慢解决办法
    用如下方法(2个步骤:修改hosts文件和cmd刷新dns命令),有效,感觉快了不少,   修改内容如下:20.205.243.166github.com#GitHubStart140.82.114.4github.com199.232.69.194github.global.ssl.fastly.net#GitHubEnd 打开CMD,输入如下命令:ipconfig/flushdns ......