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.txt
,add .
然后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 switch 后 git checkout 还能做啥?