执行git rm --cached后如何提交变更?推送前的操作疑问
Git rm --cached 后的推送步骤说明
嘿,这个场景我经常碰到,给你讲明白:
必须先提交本地变更,才能推送到远程
git rm --cached只是完成了「停止跟踪指定文件」这个操作,这个操作本身是一个需要被Git记录的变更。Git的推送逻辑是同步本地已提交的commit到远程,如果你不提交就推送,远程仓库完全不知道你做了这个修改,自然不会有任何变化。提交前不需要执行
git add .
别多此一举啦!git rm --cached命令执行后,已经自动把「移除文件跟踪」这个变更加入到暂存区了。你可以跑一下git status看看,这些文件会出现在「Changes to be committed」下面,说明已经准备好了可以提交。这时候直接运行:git commit -m "停止跟踪不需要的文件"提交完成后再执行
git push,就能把这个变更同步到远程仓库了。
额外小提醒
如果这些文件之前已经推送到远程仓库了,这次推送后远程仓库里的文件不会被删除——因为git rm --cached只是取消跟踪,并没有删除本地或远程的文件。要是你想同时删掉远程仓库里的这些文件,那得用git rm filename(不带--cached),但这个命令会同时删除你的本地文件,操作前可要想清楚哦!
内容的提问来源于stack exchange,提问作者cerebrou
相关产品推荐
相关产品推荐

