在本地计算机上将所有提交合并为一个(用于重写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提交历史推送到原始分支?
答案 0 :(得分:1)
看起来这里的问题就像在本地提交你自己的提交时,有些提交已被推送到某人。
所以你在git中的历史就像这样。
* d993799 Commit 1
* caa12d6 Commit 2
|\
| * e38fecc Your Commit
|
* 29158f8 Commit 3
现在,您有两个选项,执行Merge或Rebase
git merge origin/master
或
git rebase origin/master
Pro提示在您准备好进入原点后进行本地提交时执行 git pull --rebase
这样做会拉出最新版本的原点然后它是将尝试更新您的更改