在我的项目 master 分支中,我提交了更改:git commit -a
创造&切换到新分支:git checkout -b newbranch
尝试一些东西......
意识到'东西'没有按照我认为可能的方式切换回主人:git checkout master
意图从那里移动......但是意识到在newbranch中添加的一些文件仍然在TextMate中......所以......
我输入git status
我仍然看到我认为我留在newbranch的所有内容都列在“未跟踪文件”下
我尝试:git reset --hard
带我回到最后一次提交..但是newbranch的变化仍然存在?!?
我错过了什么?
答案 0 :(得分:5)
老实说,如果你不打算做任何事情,可能没有理由去结账。
您可以正常尝试新的更改。如果你不喜欢你所看到的但是想稍后使用新代码,你可能会把它藏起来,就像这样:
git stash save "Some changes that didn't work out."
如果你绝对想要它,那么你所要做的就是:
git clean -d --dry-run
然后确定:
git clean -df
答案 1 :(得分:1)
如果某些文件未跟踪,则git不会对这些文件执行任何操作。
答案 2 :(得分:1)
因为你有未跟踪的文件(我假设你没有提交它们)你有一个脏的工作目录。如果你想要删除那些,你可以使用clean命令:
git clean -df
d修饰符指定您也希望对未跟踪的目录执行操作。 f修饰符指定力。如果您在默认情况下未指定此参数,则Clean不会删除内容。您可以添加x修饰符,以防您想要删除被忽略的文件,但我不建议这样做。
答案 3 :(得分:0)
根据描述的症状,您似乎可能没有跟踪文件。切换分支时将保留未跟踪的文件。
清除未跟踪的文件
git clean -dfx
将已更改的文件重置为您当前所在分支的负责人
git reset --hard