强制 Git Push 覆盖远程仓库中的文件

本文将讨论如何将本地更改推送到远程存储库,并通过确定更改的优先级来避免合并冲突。

我们将涵盖您需要了解的有关 git push 命令的所有信息。 让我们开始吧!


git push 命令

我们使用 git push 命令将我们的本地更改发布到远程存储库。 git push 命令是 git fetch 命令的镜像命令。

它将我们的本地更改导出到远程存储库,而不是 git fetch 命令将更改从远程存储库导入到我们的本地存储库。

以下是一些常见的使用选项:

  1. git push 命令会将我们的本地更改从指定的本地分支推送到远程存储库。 如果远程存储库中不存在该分支,Git 将创建该分支并发布我们的提交。
  2. git push –force 命令将强制推送到远程存储库,从而导致非快进合并。
  3. git push –all 命令会将我们所有的本地分支推送到远程存储库。
  4. git push –tags 命令会将我们本地分支中的标签推送到远程存储库。

强制 git push 覆盖远程仓库中的文件

有时,如果远程存储库的历史与本地存储库的历史不匹配,Git 会拒绝 git push 命令。 我们可以使用下面的命令强制我们的本地修订到远程存储库。

$ git push --force <remote> <branch>

示例:

$ git push --force origin master

如果我们不包含 <remote> 和 <branch>,Git 会将带有 –set-upstream 预设的所有本地分支推送到远程存储库。

或者,您可以从远程分支中拉取,将更改与本地存储库合并,然后再次推送。 当多个开发人员共享同一个远程存储库时,这会派上用场。

当共享提交发生冲突时,我们可以使用 git commit --amend 命令来修复它们。 修改后,我们现在可以将合并的更改推送回远程存储库。

# Amend
git commit --amend
#Update Commit Message
git push --force origin master

在我们结束之前,让我们简单地讨论一下如何删除远程分支。 当我们想要删除远程存储库中的特定分支时,这会很有用。

我们使用下面的命令来删除远程分支:

git branch -D <branch-name>
git push origin :branch-name