为了账号安全,请及时绑定邮箱和手机立即绑定

如何将修改后的提交推到远程Git存储库?

如何将修改后的提交推到远程Git存储库?

Git
繁花不似锦 2019-06-23 15:25:07
如何将修改后的提交推到远程Git存储库?当我对我的源代码做了一些工作后,我做了我通常的提交工作,然后我把它推到了一个远程存储库中。但是我注意到我忘记了在源代码中组织我的导入。因此,我执行“修改”命令来替换以前的提交:> git commit --amend不幸的是,提交不能被推回存储库。它被这样拒绝:> git push origin To //my.remote.repo.com/stuff.git/  ! [rejected]        master -> master (non-fast forward) error: failed to push some refs to '//my.remote.repo.com/stuff.git/'我该怎么办?(我可以访问远程存储库。)
查看完整描述

3 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

实际上我曾经推过--force.git被莱纳斯骂了一顿大时代..一般来说,这会给其他人带来很多问题。一个简单的答案是“不要这么做”。

我看到其他人给出了这样做的方法,所以我不会在这里重复。但是这里有个小提示要从这种情况中恢复过来。您已经将修改后的提交与-强制(或+主)一起推开了。

  1. 使用

    git reflog

    找出你修改过的旧承诺

    old

    ,我们将调用您通过修改创建的新提交。

    new).

  2. 在.之间创建一个合并

    old

    new

    ,记录.的树

    new

    ,就像

    git checkout new && git merge -s ours old.

  3. 把它合并到你的主人

    git merge master

  4. 使用

    git push . HEAD:master

  5. 把结果推出来。

然后,那些不幸地将他们的工作建立在提交的基础上的人,通过修改和强制推送,就会看到结果的合并会让你更喜欢。new过关old..他们以后的合并不会看到oldnew这是你修改的结果,所以他们不必受苦。


查看完整回答
反对 回复 2019-06-23
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

快速咆哮:没有人在这里发布这个简单的答案,这表明了GitCLI显示出的绝望的用户敌意。

不管怎么说,如果你还没试过用力的话,“显而易见”的方法就是先拉。这就引出了你修改过的改变(现在已经没有了),这样你就可以再次得到它了。

一旦你解决了任何冲突,你就可以再推一次。

因此:

git pull

如果在PULL中出现错误,可能在本地存储库配置中出现了错误(我在.git/config分支部分中出现了一个错误的引用)。

之后

git push

也许你会得到一个额外的承诺与主题告诉“微不足道的合并”。


查看完整回答
反对 回复 2019-06-23
  • 3 回答
  • 0 关注
  • 597 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信