我正在做一个项目,在这个项目中,我使用主分支只包含各种 "发布 "值得的状态(按照这里的模型。https:/nvie.compostsa-successful-git-branching-model)。).
我为新版本发布前的最后一次修改创建了一个新的分支,其中包括取消对一些过时文件的分期(用 git rm --cached file1 file2
在本地发布分支上)。) 所以在目前的状态下,我的本地主分支仍然在跟踪file1和file2,而本地发布分支却没有跟踪。
我现在如何才能将发布分支合并到本地主分支,使本地主分支采用非分期(即不再跟踪这两个文件)?当我试着换到主分支进行合并命令时,得到">错误。以下未跟踪的工作树文件将被checkout覆盖"。
要说明的是,我确实想把这些文件保存在我的本地目录中。我只是想让 Git 停止跟踪它们,这样当我把本地主文件推送到远程时,远程的文件就会被删除。
要将任何东西合并到 master
你 必须 检查出来。但检查出 master
意味着将您的工作树同步到以下状态 master
这意味着这两个文件必须被覆盖到它们在 master
. 有一些方法可以在不改变本地工作树的情况下 "签出 "一个分支,但如果你想进行合并,你就不能这样做。
解决的办法是:将未跟踪的文件藏起来。
git stash -u
把未被跟踪的文件藏起来。git stash pop
让他们回来。