Git分支没有按我预期的方式工作
在我的项目主分支中,我提交更改:Git分支没有按我预期的方式工作,git,Git,在我的项目主分支中,我提交更改:git提交-a 创建并切换到新分支机构:git checkout-b newbranch 试试看 意识到“stuff”的工作方式与我想象的不一样,所以切换回master:git checkout master,并打算从那里继续。。。但请注意,newbranch中添加的一些文件仍在TextMate中。。。所以 我键入git status我仍然可以看到我认为留在newbranch的所有东西都列在“未跟踪文件”下 我尝试:git reset——很难让我回到最后一次提交…
git提交-a
创建并切换到新分支机构:git checkout-b newbranch
试试看
意识到“stuff”的工作方式与我想象的不一样,所以切换回master:git checkout master
,并打算从那里继续。。。但请注意,newbranch中添加的一些文件仍在TextMate中。。。所以
我键入git status
我仍然可以看到我认为留在newbranch的所有东西都列在“未跟踪文件”下
我尝试:git reset——很难
让我回到最后一次提交……但newbranch的变化仍然存在
我遗漏了什么?如果某些文件未被跟踪,那么git不会对这些文件做任何事情。如果某些文件未被跟踪,那么git不会对这些文件做任何事情。你遗漏了什么?嗯,问题中的文件是未经追踪的,git不会用十英尺长的杆子去碰那些文件 老实说,如果你不打算做任何事情,可能就没有理由签出一个新的分支 你可以像平常一样尝试新的改变。如果您不喜欢看到的内容,但希望稍后使用新代码,您可以将其隐藏起来,如下所示:
git stash save "Some changes that didn't work out."
如果你真的想让它消失,你所要做的就是:
git clean -d --dry-run
然后,如果确定:
git clean -df
你错过了什么?嗯,问题中的文件是未经追踪的,git不会用十英尺长的杆子去碰那些文件 老实说,如果你不打算做任何事情,可能就没有理由签出一个新的分支 你可以像平常一样尝试新的改变。如果您不喜欢看到的内容,但希望稍后使用新代码,您可以将其隐藏起来,如下所示:
git stash save "Some changes that didn't work out."
如果你真的想让它消失,你所要做的就是:
git clean -d --dry-run
然后,如果确定:
git clean -df
因为您有未跟踪的文件(我假设您没有提交它们),所以您有一个脏的工作目录。如果还想清除这些,可以使用clean命令:
git clean -df
d修饰符指定您也要对未跟踪的目录进行操作。f修改器指定力。如果默认情况下未指定此参数,Clean将不会删除内容。您可以添加x修饰符,以防您也想删除被忽略的文件,但我不建议这样做。因为您有未跟踪的文件(我假设您没有提交它们),所以您有一个脏的工作目录。如果还想清除这些,可以使用clean命令:
git clean -df
d修饰符指定您也要对未跟踪的目录进行操作。f修改器指定力。如果默认情况下未指定此参数,Clean将不会删除内容。您可以添加x修饰符,以防您也想删除被忽略的文件,但我不建议这样做。从描述的症状来看,您可能有未跟踪的文件。切换分支时,未跟踪的文件将保留 清除未跟踪的文件
git clean -dfx
将更改的文件重置为当前所在分支的标题
git reset --hard
从描述的症状来看,您可能有未跟踪的文件。切换分支时,未跟踪的文件将保留 清除未跟踪的文件
git clean -dfx
将更改的文件重置为当前所在分支的标题
git reset --hard
啊。。。所以,在理论上。我应该在纽伯兰做这些?然后,当我切换回master时,它们会被删除…然后我可以删除newbranch?或者,有没有办法删除所有未跟踪的文件?删除未跟踪的文件是通过
git clean
完成的。有用的选项:-n(假装)-f(强制),-d(dirs),-X(仅忽略)-X(也忽略)如果你在newbranch,你可以提交所有文件(git add.
我想,但我不确定)。这样你就不会有任何未跟踪的文件。但我不知道你是否可以不用普通的旧rm
@Tobu:Cool就删除未跟踪的文件!我不知道。啊。。。所以,在理论上。我应该在纽伯兰做这些?然后,当我切换回master时,它们会被删除…然后我可以删除newbranch?或者,有没有办法删除所有未跟踪的文件?删除未跟踪的文件是通过git clean
完成的。有用的选项:-n(假装)-f(强制),-d(dirs),-X(仅忽略)-X(也忽略)如果你在newbranch,你可以提交所有文件(git add.
我想,但我不确定)。这样你就不会有任何未跟踪的文件。但我不知道你是否可以不用普通的旧rm
@Tobu:Cool就删除未跟踪的文件!我不知道。默认情况下,你需要添加f修饰符,正如我在回答中提到的。我喜欢这个工作流。我想我将来会用它。谢谢-n
是--dry run
的同义词默认情况下,您需要添加f修饰符,正如我在回答中提到的。我喜欢此工作流。我想我将来会用它。谢谢-n
是的同义词--dry run
clean-X
非常有用,它已经取代了使clean
对我来说。这真的取决于你在用什么编程。对于我在.NET中的工作流,-X是绝对不允许的。clean-X
非常有用,它已经取代了makeclean
对我来说。这实际上取决于你在用什么编程。对于我在.NET中的工作流,-X是绝对不允许的。