我的分支“branch_a”有一个文件(file_a.txt),它与“master”上的同名文件不应该不同。我想以这样一种方式改变分支,即从分支中删除这个已更改的文件,也就是说,“master”中未更改的文件再次出现,而不是该文件的已更改分支。我试图避免的是必须维护这个永远不应该改变的文件。
我认为首先git-reset可能会有所帮助。然后我想也许我应该“git-rm”文件,但这根本不会留给我文件。我需要将它从分支中删除,以便它不再是“master”上的版本。在这种情况下,最佳做法是什么?
答案 0 :(得分:4)
我假设您只需要将该文件重置为master
上的版本,而不是删除任何更改历史记录,对吗?前者很容易,后者需要修改历史记录,不应轻易做到(特别是如果你把分支推到当地回购之外)。
要将文件foo/bar/baz.txt
的内容重置回master
上的状态,只需检查您的分支并运行
git checkout master -- foo/bar/baz.txt
这将从master获取文件,将其写入工作副本,并在索引中暂存。您现在只需git commit
即可,您的文件现在将与master
上的文件匹配。