我不明白gitrm--cached之间的区别和gitupdate-index--assume-unchanged.我知道gitrm--cached将从暂存区中删除一个文件。而且,我知道gitupdate-index--assume-unchanged也这样做。我还在SO上看到这两个命令都作为对类似问题的建议提供。这两个命令是否有其他影响使它们不同? 最佳答案 命令gitrm--cached用于取消跟踪Git分支中的文件。此命令将从暂存区中删除文件,并且还将在您下次提交时从存储库中删除该文件。命令gitupdate-index--as
我用gitrm-r删除了rails应用程序中的db文件夹我试过了gitresetHEAD和gitreset--hardHEAD但是迁移文件没有回来。我尝试提交,然后运行重置,但仍然没有。我该怎么办? 最佳答案 您可以从仍然存在的提交中checkout文件。方法如下。gitcheckout--db#Example:gitcheckout6936142--db#Thisalsoworks,butifyouhaveabranchnamedthesameasthefileorpath,#itwillthrowanerror.gitcheck
有人不小心将他们所有的bin和obj文件夹提交到我们的repo(大约有40个这样的文件夹)。我想做一个gitrm-r在所有这些文件夹上。是否有执行此操作的命令? 最佳答案 有备份,find.-typed-namebin-execgitrm-r{}\;find.-typed-nameobj-execgitrm-r{}\;更新使用bash,您可以设置shoptglobstar,并且很高兴:shopt-sglobstargitrm-r**/{obj,bin}/最后,如果您需要从存储库的历史记录中删除这些对象,请查看gitfilter-br
在我的本地机器上,我从文件夹中删除了文件。gitinitgitadd--all然后我写了(不要问我,为什么!:))gitrm-rf我还没有promise。现在我的项目中有空文件夹。在.git文件夹中有包含53Mb文件的objects。如何恢复我的文件?我试过像DrillDisc和Stellar这样的程序,但没有找到我的文件。而且我无法从GIT回滚。如何恢复丢失的文件? 最佳答案 (更新)请改用gitfsck,它是一个内置命令,用于检索您曾经添加到git存储库的文件。gitfsck--lost-found--unreachable命令
我正在学习Git,无法理解在发出“gitrm”命令时使用-f标志的条件。请解释需要rm-f而不是仅rm的场景? 最佳答案 说明:-f用于删除文件,如果文件不是您上次checkout提交的最新文件。这是为了防止您删除已更改但尚未checkin的文件。示例:您checkout包含文件sample.txt的提交0a12d4。在更改任何文件之前,您可以使用gitrmsample.txt删除sample.txt。但是,一旦您对sample.txt进行了更改,您将需要使用gitrm-fsample.txt删除文件
我使用rm、Finder等从Git存储库中删除了一堆文件和目录。我正在寻找一个Git命令,它将这些记录到标记为删除的索引中,就好像我对它们调用了gitrm一样。我知道gitadd-u会执行此操作以及其他一些操作。我希望我的命令专门处理删除。 最佳答案 文件名中没有空格:$gitrm`gitls-files-d`更健壮:$gitls-files-z-d|xargs-0--no-run-if-emptygitrm 关于git-如何添加和提交使用"rm"而不是"gitrm"进行的删除?,我们在
我提交了一个错误的文件,所以我想清理它,但不小心我用最后提交给git的文件覆盖了目录中的所有文件。请帮忙!我做了什么:gitaddfileIdidnotwanttoaddgitrm-r--cached.gitreset--hardHEAD结果:我所有的修复都消失了!我修复了3个非常困难的错误,一切都消失了!编辑:谢谢大家。我使用了你的大部分建议,仍然需要重做一些事情,但现在一切都恢复了。不再追求完美主义,我吸取了教训! 最佳答案 (来自:Recoverfromgitreset--hard?)您一般不能取回未提交的更改,所以这里真正的
我无意中将9000多张照片添加到我的项目文件夹中。并promise了他们。然后从磁盘中删除它们。坚定的。现在我尝试将更改推送到git服务器。但是它花费的时间太长并且试图发送12Gb的数据。我检查了磁盘上的文件大小,发现.git文件夹确实占用了12Gb。如何从那里删除照片?我尝试了gitrm,但失败了:❯gitrmpublic/photosfatal:pathspec'public/photos'didnotmatchanyfiles因为我已经从磁盘中删除了它们,但它们仍在.git文件夹中。我尝试将public/photos添加到.gitignore:public/photos/*.zi
我正在努力学习Git。我很困惑gitrm--cachedfile和gitresetfile这两个命令似乎都将文件从暂存区带到未暂存区。这些命令有何不同? 最佳答案 gitrm--cached将从索引中完全删除文件的内容。这意味着提交时文件将从HEAD中删除犯罪。(如果文件仅添加到索引中但尚未跟踪,则这是“无操作”。)gitreset--将索引中文件的内容重置为与头提交相同。这意味着在提交时不会对文件进行任何更改。如果HEAD中没有文件的跟踪版本,则此操作无效提交。 关于gitrm--ca
GitRef.org-Basic:gitrmwillremoveentriesfromthestagingarea.ThisisabitdifferentfromgitresetHEADwhich"unstages"files.By"unstage"Imeanitrevertsthestagingareatowhatwastherebeforewestartedmodifyingthings.gitrmontheotherhandjustkicksthefileoffthestageentirely,sothatit'snotincludedinthenextcommitsnapsho