Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何更改原始提交中的文件_Git_Rebase - Fatal编程技术网

Git 如何更改原始提交中的文件

Git 如何更改原始提交中的文件,git,rebase,Git,Rebase,背景:我正在尝试从我的历史记录中删除所有bin、obj和packages文件夹,以及所有模式为*.suo、*.user和.ReSharper.的文件 我先检查了主人,然后跑了 git rebase -i --root $tip 然后在编辑窗口中,我将第一次提交从pick更改为edit,并点击Esc+:wp 然后我添加了一个.gitignore文件 *.suo *.user _ReSharper.* bin/ obj/ packages/ 然后,我做了一个git日志,检查我的第一次提交是否是日

背景:我正在尝试从我的历史记录中删除所有
bin
obj
packages
文件夹,以及所有模式为
*.suo
*.user
.ReSharper.
的文件

我先检查了主人,然后跑了

git rebase -i --root $tip
然后在编辑窗口中,我将第一次提交从
pick
更改为
edit
,并点击
Esc
+
:wp

然后我添加了一个
.gitignore
文件

*.suo
*.user
_ReSharper.*
bin/
obj/
packages/
然后,我做了一个
git日志
,检查我的第一次提交是否是日志中唯一的一次提交。到目前为止还不错


然后,我用乌龟修改了上次提交,它说“自上次提交以来,没有任何文件被更改或添加。”我希望看到我第一次提交中的所有文件。为什么我看不到它们?

如果这些文件已经在以前的版本中提交,只需将这些文件添加到.gitignore就不会改变任何东西。这就是告诉git,如果这些文件显示为“新”文件,就忽略它们。已经提交的文件,git将继续跟踪它们,并在它们发生更改时报告。如果您想在以前的修订版中删除它们,那么您必须修改这些修订版,或者使用
git filter branch

“.gitignore”用于您不想提交的文件,但一旦提交,它就没有任何效果(预期行为!)。如果需要的话,你应该取消它们。除此之外,也许你应该看看,而不是做你自己的全部。。。