合并git提交历史记录

合并git提交历史记录,git,Git,在本地计算机上将所有提交合并为一个(用于重写git日志历史记录)后(此操作成功),我在命令git status Your branch and 'origin/master' have diverged, # and have 1 and 8 different commits each, respectively. 这8个提交是我已经合并为一个的提交。 我试着做了git push--force origin master,结果是 Compressing objects: 100% (9924

在本地计算机上将所有提交合并为一个(用于重写git日志历史记录)后(此操作成功),我在命令
git status

Your branch and 'origin/master' have diverged,
# and have 1 and 8 different commits each, respectively.
这8个提交是我已经合并为一个的提交。 我试着做了git push--force origin master,结果是

Compressing objects: 100% (9924/9924), done.
Writing objects: 100% (21454/21454), 24.68 MiB | 2.95 MiB/s, done.
Total 21454 (delta 8595), reused 20826 (delta 8591)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To http://somesite.com/gitproject.git
! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'http://somesite.com/gitproject.git'
树枝依然分叉。 我想,如果我执行git pull,那么所有已经合并的git提交历史记录都会再次出现在本地机器上


长话短说,我如何才能将本地git提交历史推送到源分支?

这里的问题似乎是,当您在本地进行自己的提交时,某些提交被推送到了源

所以你在git中的历史是这样的

*   d993799 Commit 1
*   caa12d6 Commit 2
|\
| * e38fecc Your Commit 
|
*   29158f8 Commit 3
现在,您有两个选项,进行合并或重设基础

git merge origin/master

专业提示:当您准备好进入origin时,在本地提交后,执行一个
git pull--rebase
操作将获取origin的最新版本,然后它将尝试更新您的更改

一些很棒的网址:

git rebase origin/master