[英]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 status
或git 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 stash
, pull
, stash pop
,然后删除被忽略的文件?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.