我是 Git 新手,所以我不确定如何解决我目前的情况。
我有一个“主”存储库A
。然后我将其克隆为存储库B
。两者碰巧在同一台机器上,尽管将来它们不会。A
是一个遥控器B
。
我对此的设计是将对 进行更改A
,B
并将简单地从上游拉到更新。B
有时可能会有一些局部变化。
问题是我不小心在B
而不是A
. 在此更改之前,两个存储库是相同的。更改是从以前的提交中还原一些图像(将它们从“原始”状态变为“正确”状态),但我认为它是还原的事实并不重要。然后,注意到我在错误的 repo 上做了这件事,我撤消了我刚刚恢复的内容(在我开始之前将图像设置为原始状态),而是在 "master"/upstream 上进行了更改A
。
现在,B
再次拥有原始图像,并A
拥有新修复的图像。问题是B
说它比A
. 它为我提供了推送到的选项A
,但如果我这样做会出错:
remote: error: 拒绝更新签出分支: refs/heads/master remote: error: 默认情况下,在非裸仓库更新当前分支remote: error: 被拒绝,因为它会使索引和工作树不一致
远程:错误:使用您推送的内容,并且需要“git reset --hard”来匹配远程:错误:工作树到 HEAD。远程:错误:远程:错误:您可以在远程存储库中将“receive.denyCurrentBranch”配置变量设置为远程:错误:“忽略”或“警告”以允许推入远程:错误:其当前分支;但是,除非您远程:错误:安排更新其工作树以匹配您在某个远程:错误:其他方式中推送的内容,否则不建议这样做。远程:错误:远程:错误:要压制此消息并仍保持默认行为,请将远程:错误:'receive.denyCurrentBranch' 配置变量设置为'拒绝'。到 C:\dev\jenkins-1.501 ![远程拒绝] master -> master(当前已签出分支)
我如何才能B
不“领先” A
?我现在拥有A
它应该的样子,我想简单地将更改拉入B
.