将文件添加到gitignore

时间:2015-12-28 10:52:18

标签: git

我不小心提交了应该在gitignore中的文件,当我撤消提交时,我的文件被提交中的文件覆盖。

我将提交恢复到上一个​​并替换了文件的内容,但现在当我将进行新的更改时,这些文件的内容将被恢复的早期提交再次覆盖。

我该如何处理?

2 个答案:

答案 0 :(得分:2)

  

我意外地提交了应该在gitignore中的文件

首先,您必须从历史记录中删除它们 你有几种方法(恢复,重置,结帐< commit>等)

还原

您只需还原提交中的代码即可。这将取消您的更改

revert <commit id>

重置

reset HEAD <commit id>

这会将你的分支“移动”到任何给定的所需提交,然后结帐分支,你又回来了你的旧代码ץ

更新远程

获得所需的代码后,您需要使用-f/--force标志将其推送到遥控器。

如何忽略所需的文件

将文件添加到.gitignore,以便git无法检测到该文件。

如果您仍想要存储库中的文件(例如,使用默认值),则应使用跟踪文件上的assume-unchanged标记。

https://git-scm.com/docs/git-update-index

- [无糖]假设-不变

  

指定此标志时,不会更新为路径记录的对象名称   相反,此选项设置/取消设置路径的“假设未更改”位。

     

当“假定未更改”位打开时,用户承诺不更改文件并允许Git假定工作树文件与索引中记录的文件匹配。如果要更改工作树文件,则需要取消设置该位以告知Git。当在具有非常慢的lstat(2)系统调用(例如cifs)的文件系统上处理大项目时,这有时很有用。

     

如果需要在索引中修改此文件,Git将失败(优雅地),例如合并时提交;因此,如果上游更改了假定未跟踪文件,则需要手动处理该情况。

enter image description here

答案 1 :(得分:0)

强制推送您的新更改:

git push -f origin <your-branch>