【问题标题】:How can I git force changes to origin master without merging?如何在不合并的情况下强制更改原始主机?
【发布时间】:2020-08-04 12:55:26
【问题描述】:

Linux 上的 git-2.16.2

我对 git push 的经验不是很丰富,所以请多多包涵……

我对从原始主机创建的克隆进行了更改。我想将这些更改推送到原始主机而不与那里的内容合并。我尝试了git push --force,但这似乎不起作用,即使消息似乎表明它确实如此......

--> git push --force
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 597 bytes | 597.00 KiB/s, done.
Total 4 (delta 1), reused 0 (delta 0)
To /proj/projects/git_repos/mytool.git
 + eafc0ab...3155ce8 master -> master (forced update)

我说它不起作用,因为当我现在做一个 git clone of origin master 来创建一个带有更改的新仓库时,更改不存在。

我尝试--force 的原因是我希望我的所有本地(已提交)更改基本上都破坏了原始主机中的任何内容。我不想与那里的任何东西合并,尽管我明白为什么在某些情况下能够做到这一点很重要。我基本上是在寻找一个捷径来完成git pull --rebase 和所有合并(接受我在本地拥有的所有东西并拒绝其他所有东西)、git addgit rebase --continue 等...。我只想让我的本地更改替换原始主机中的任何内容。

如果在git push --force 之外有一个快捷方式,我可以使用它来避免所有合并并只接受本地更改,那很好,因为它会保存历史记录。

感谢您的帮助

【问题讨论】:

  • 你确定你从正确的仓库克隆吗?我觉得你的操作很好。
  • 您可以在this related question找到解决方案。

标签: linux git


【解决方案1】:

好的,我认为我的错误是我执行了“git push --force”而不是 git push --force origin master”。不确定事情会被推送到哪里,但这似乎奏效了。

【讨论】:

    猜你喜欢
    • 2020-07-11
    • 2019-06-13
    • 2021-06-09
    • 1970-01-01
    • 2023-03-14
    • 2021-12-02
    • 2019-10-26
    • 2018-01-12
    • 2016-06-30
    相关资源
    最近更新 更多