Git:分支上不再需要分支上的文件

时间:2012-09-06 21:10:08

标签: git

我的分支“branch_a”有一个文件(file_a.txt),它与“master”上的同名文件不应该不同。我想以这样一种方式改变分支,即从分支中删除这个已更改的文件,也就是说,“master”中未更改的文件再次出现,而不是该文件的已更改分支。我试图避免的是必须维护这个永远不应该改变的文件。

我认为首先git-reset可能会有所帮助。然后我想也许我应该“git-rm”文件,但这根本不会留给我文件。我需要将它从分支中删除,以便它不再是“master”上的版本。在这种情况下,最佳做法是什么?

1 个答案:

答案 0 :(得分:4)

我假设您只需要将该文件重置为master上的版本,而不是删除任何更改历史记录,对吗?前者很容易,后者需要修改历史记录,不应轻易做到(特别是如果你把分支推到当地回购之外)。

要将文件foo/bar/baz.txt的内容重置回master上的状态,只需检查您的分支并运行

git checkout master -- foo/bar/baz.txt

这将从master获取文件,将其写入工作副本,并在索引中暂存。您现在只需git commit即可,您的文件现在将与master上的文件匹配。