git rm 做啥而不是由操作系统和 git add 删除

Posted

技术标签:

【中文标题】git rm 做啥而不是由操作系统和 git add 删除【英文标题】:what does git rm do as opposed to deleting by OS and git addgit rm 做什么而不是由操作系统和 git add 删除 【发布时间】:2021-10-06 22:22:05 【问题描述】:

如果我们想删除一个文件(比如file1.txt)并停止git repo来跟踪它,据说我们应该使用git rm file1.txt然后git commit -m "..." 它。但是由操作系统从工作目录中删除,rm file1.txtadd . 然后git commit -m "..." 做同样的事情。它们有什么区别?

【问题讨论】:

请提供git add的具体命令 【参考方案1】:

没有区别。您从工作树中删除的跟踪文件的git add 会删除索引条目。跟踪文件是工作树中的内容及其索引记录,没有其他内容,您的序列正是git rm

【讨论】:

【参考方案2】:

默认情况下,git rm 命令会从 Git 存储库和文件系统中删除文件。

使用 rm (file) 手动删除它,除非您执行以下操作(删除该文件后),否则不会将其从 Git 存储库中删除:

git add *

git commit -m

【讨论】:

请注意git add * 可能不起作用。它可能有效,但可能无效。然而,git add . 通常 起作用,即使git add * 起作用或不起作用。为你锻炼:为什么?什么条件使git add * 工作,什么条件使它失败? (这不是一个简单的练习,尤其是如果您只使用 Windows。)

以上是关于git rm 做啥而不是由操作系统和 git add 删除的主要内容,如果未能解决你的问题,请参考以下文章

如何在服务器上设置 git 存储库,并允许多个用户执行 git pull,而不是由一个用户拥有?

git 命令

git rm 和rm 的区别

引入 git switch 后 git checkout 还能做啥?

git学习-git status, git diff, git rm, git mv等文件操作命令解释。

用简单的英语来说,“git reset”是做啥的?