【发布时间】: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 add、git rebase --continue 等...。我只想让我的本地更改替换原始主机中的任何内容。
如果在git push --force 之外有一个快捷方式,我可以使用它来避免所有合并并只接受本地更改,那很好,因为它会保存历史记录。
感谢您的帮助
【问题讨论】:
-
你确定你从正确的仓库克隆吗?我觉得你的操作很好。
-
您可以在this related question找到解决方案。