用最新的本地代替原始最新提交

时间:2018-03-27 10:23:56

标签: git

我在原始回购中有一个提交,我没有拉,我不想。我想把我最新的本地提交推送到原点。

gitHub/origin
        "commit nr 10"

localRepo           “还提交了10次,一次提交后”

无论如何,我可以用我最新的本地替换来自10的提交,而不必拉最新的吗?

如果我这样做

git pull 

创建合并冲突,然后我必须使用我的每个文件解决它。

有没有办法可以拉动并始终使用我的冲突或删除原始的最新提交,以便我可以推送我的本地提交?

2 个答案:

答案 0 :(得分:2)

您可以“强制”将分支推送到遥控器。也就是git push origin <branch-name> --force。这将主要强制远程分支模仿您的本地分支,这将重写远程分支的历史记录。请注意,重写历史被认为是非常糟糕的做法,因为git的主要组件之一是要分发。如果有人拉动了远程分支,那么你强行推送到那个分支,他们现在会在下次尝试与远程同步时发生冲突。

答案 1 :(得分:1)

您应该将代码合并到origin repo,或者您必须先取下拉,然后才能commit and push your changed origin repo文件。

如果您想推送代码,则需要创建一个新分支并将代码推送到该分支。

git checkout -b new-branch-name master-branch-name

如果您不想提交,请按git checkout -b file-name

结帐代码

如果您已添加更改的文件,并且想要重置文件,那么

git reset --hard origin/some-branch