这是有问题的,我只是git拉东西,然后它说有局部变化......我什么都没改变......我尝试重置但是它没有用......有人帮忙吗?
MacBook-Pro$ git reset --hard
HEAD is now at b89fcff the latest code in AWS to identify all difference and keep track
MacBook-Pro$ git checkout dev1.1
error: Your local changes to the following files would be overwritten by checkout:
OUTPUT_RESULTS_DIR/equity.csv
Please commit your changes or stash them before you switch branches.
Aborting
答案 0 :(得分:4)
执行git reset --hard
只会影响这些文件,Git知道;那些目前由Git跟踪的人。
当您将git status
的输出作为参考时,git reset --hard
影响的只是那些Git检测到已分阶段或未分阶段修改的文件。未跟踪部分中列出的文件(因此不为Git所知)不受影响。
因此,在您的情况下,您有一个未跟踪的文件OUTPUT_RESULTS_DIR/equity.csv
。执行git reset --hard
不会影响它,因此它会保持原样。但是,您尝试签出的分支dev1.1
显然包含该文件。所以在这里,Git会通过阻止您退出来保护您免于意外丢失本地文件的内容。
此时,您可以重命名该文件,以便仍然可以使用它,但在检出其他分支时不会导致冲突。您还可以使用git checkout dev1.1 --force
强制Git检出分支,忽略任何冲突。但请注意,此操作无法撤消,因此请小心。
答案 1 :(得分:1)
如果您确定没有您关心的更改,那么没有理由尝试提交或存储(甚至重置)。您应该能够按如下方式强制结帐:
git checkout --force dev1.1
--force
选项会导致Git丢弃任何本地更改,而不是失败。请确保这是你想要做的。
答案 2 :(得分:0)
尝试藏匿它可能会起作用。 :
git stash save