我的git repo犯了一个错误,需要一些帮助来解决它,因为我的git foo并不是那么好。我正在处理两个分支:EBT_Branch
和Scheduling_Branch
。我对Scheduling_Branch
进行了一些更改,但我还没准备好提交jus,所以我运行了git stash
和git checkout EBT_Branch
。然后我做了一个提交并运行git checkout Scheduling_Branch
和git stash apply
,这产生了以下错误,我无法弄清楚如何解决:
On branch Scheduling_Branch
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add/rm <file>..." as appropriate to mark resolution)
deleted by us: dump.rdb
no changes added to commit (use "git add" and/or "git commit -a")
在我收到错误告诉我无法合并二进制文件之前,所以我尝试运行git rm dump.rdb
将其从git中删除,然后再次运行git stash apply
,这就是我的结果以上信息。
在某些时候,我意外地提交了我的Redis服务器的dump.rdb
文件。我后来把它添加到我的.gitignore
,但现在我似乎无法摆脱它。我想知道的是如何摆脱dump.rdb
?
答案 0 :(得分:2)
您创建的藏匿处似乎包含对dump.rdb
的存档更改,但您尝试将该存储应用于已删除dump.rdb
的分支。当Git尝试应用存储时,它希望将隐藏的更改应用于dump.rdb
,但不能,因为该文件不存在。这就是产生你所看到的信息的原因。
要解决合并冲突,请再次运行git rm dump.rdb
。完成后,您看到的消息将从git status
输出中消失。
当然,每次尝试再次应用该存储时,您都会看到相同的消息,因为存储仍然包含对dump.rdb
的更改。解决这个问题的最快方法是用不记录对该文件的更改的存储替换存储。通过使用git stash apply
来应用存储,git stash drop
删除您刚刚应用的存储,git rm dump.rdb
来解决冲突,然后git stash save
创建新存储。< / p>
(完整性的两个简要说明:1。您也可以使用git stash branch
创建新的存储,这在处理应用存储时的合并冲突时有时很有用。我不认为这有帮助,但是,鉴于我们知道如何轻松解决合并冲突.2。通常使用git stash pop
同时执行apply
然后drop
会更快,但在这种情况下pop
将拒绝drop
,因为存在合并冲突,因此apply
和pop
的行为相同。)
解释.gitignore
行为:一旦你向Git添加了一个文件,Git会忽略它是否在.gitignore
或类似 - 它假设你已经提交了它,你不会想忽略它。要使.gitignore
实际上导致Git忽略该文件,您需要将其从Git的存储库视图中删除。