繁体   English   中英

Git不会更改工作目录中的文件

[英]Git doesn't change files in working directory

我分支了一个新的分支...

git checkout -b loginComponent

我创建一个新文件并对现有文件进行一些更改。 然后,我决定……嗯,我不喜欢自己所做的事情……所以我的目标是回到分支任何内容之前。 所以我输入...

git checkout master

希望文件恢复到分支之前的状态。

我收到以下消息:

A       app/login.component.html
A       app/login.component.ts
M       app/webff.component.ts
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

但是,这不会发生。 文件(login.component.html,login.component.ts)仍然存在,并且webff.component.ts中的修改也仍然存在。

我错过了什么吗? 我似乎记得过去曾经这样做过...

更改分支时更改仍然存在。 要将更改重置为HEAD,请使用以下命令:

 git reset --hard

请注意,这将删除所有未提交的更改。

将新文件提交到新分支。 然后结帐大师。

或者,git reset --hard

'git checkout -f'还将工作目录中的文件恢复到存储库版本。

您在这里缺少一些基本的git知识。

完整而完整的答案在这里: git checkout将未暂存的文件携带到新分支

这是给您的简短摘要。

Git有一种叫做3状态的东西。

在此处输入图片说明

上面描述了3种状态。

The missing part

在所有分支之间共享工作目录和登台(*-一种绕过该目录并在每个分支具有3种状态的方法)

但是,在您的情况下,工作目录和暂存是共享的,因此当您在分支之间“移动”时,所有未提交的内容将保留在那里,除非您进行处理。


如何放弃我的更改?

阅读此内容以了解什么是HEAD,然后按照答案中所述使用重置。
如何将HEAD移回先前的位置? (独立头)

暂无
暂无

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

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