Git分支没有像我预期的那样工作

时间:2010-12-02 20:53:38

标签: git

在我的项目 master 分支中,我提交了更改:git commit -a

创造&切换到新分支:git checkout -b newbranch

尝试一些东西......

意识到'东西'没有按照我认为可能的方式切换回主人:git checkout master意图从那里移动......但是意识到在newbranch中添加的一些文件仍然在TextMate中......所以......

我输入git status我仍然看到我认为我留在newbranch的所有内容都列在“未跟踪文件”下

我尝试:git reset --hard带我回到最后一次提交..但是newbranch的变化仍然存在?!?

我错过了什么?

4 个答案:

答案 0 :(得分:5)

你错过了什么?好吧,问题中的文件没有跟踪,git也不会碰到那些有十英尺杆的人。 ;)

老实说,如果你不打算做任何事情,可能没有理由去结账。

您可以正常尝试新的更改。如果你不喜欢你所看到的但是想稍后使用新代码,你可能会把它藏起来,就像这样:

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