如何放弃对分支所做的所有更改?
我在一个分支(即design
)工作,我做了一些改变,但我需要放弃他们,并重置它以匹配存储库版本。 我认为git checkout design
会做到这一点,但它只是告诉我,我已经在分支design
,我有3个修改的文件。
我将如何放弃这些变化,并获得现在在远程服务器上的分支?
注意:你不能这样做。
试试git checkout -f
这将放弃所有在所有分支机构和主机上没有提交的本地修改。
混帐重置 – 哈尔可以帮助你,如果你想扔掉自上次提交以来的一切
如果你不想在design
做任何改变,绝对不希望它与远程分支相匹配,你也可以删除分支并重新创build:
# Switch to some branch other than design $ git br -D design $ git co -b design origin/design # Will set up design to track origin's design branch
git diff master > branch.diff git apply --reverse branch.diff
@Will, git immersion是一个非常好的和简单的git教程。 它会告诉你如何撤销对以下情况的更改:非暂存,分阶段和承诺。 实验室14-18
在源代码根目录: git reset ./ HEAD <--un-stage any staged changes git checkout ./ <--discard any unstaged changes
当你想放弃你的本地分支的更改时,可以使用git stash命令来隐藏这些更改。
git储存保存“some_name”
您的更改将被保存,您可以稍后检索,如果您想要或可以删除它们。 做完这些之后,你的分支将不会有任何未提交的代码,你可以使用git pull从主分支中获取最新的代码。