繁体   English   中英

如何忽略已经在git中跟踪的文件

[英]how to ignore files that are already tracked in git

我试图pull origin a

然后执行以下操作:

error: Your local changes to the following files would be overwritten by merge:
    src/.cproject
    src/.project
    src/navigate/navigate_main.c
Please, commit your changes or stash them before you can merge.
Aborting

git状态显示:

    modified:   .gitignore
modified:   src/.cproject
modified:   src/.project
modified:   src/navigate/navigate_main.c

我做git rm --cached src/.project前3,并stashed第四

我确实又拉了一下,却没有改动。

但是当我pull origin a

我得到:

M   .gitignore
U   src/.cproject
M   src/navigate/navigate_main.c
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.

我该如何彻底清洁呢?

未提交的更改总是不好的。 您必须确定这些更改是好是坏。 如果它们很好,请提交它们。 如果不好,请将其丢弃。

一旦您不再有未提交的更改,就不会有任何问题。

查看git statusgit status --short可以查看任何未提交的更改。

配置有意义的提示以立即查看发生了什么。 对于bash,在您的〜/ .bashrc中添加以下内容:

PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
GIT_PS1_SHOWDIRTYSTATE=yes
GIT_PS1_SHOWSTASHSTATE=yes
GIT_PS1_SHOWUNTRACKEDFILES=yes
GIT_PS1_SHOWUPSTREAM=auto

除非您commit更改,否则您的git rm --cached src/.project不会做得很好。 为什么不仅仅使用git stash所有内容,然后使用rm --cached git stashpullstash pop ,然后删除被忽略的文件?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM