我有一個需要針對git reset --hard特定提交的 Bitbucket 存盤庫。在此操作之前,我有這個:
% git status
On branch master
Your branch and 'origin/master' have diverged,
and have 16 and 15 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
nothing to commit, working tree clean
我git reset --hard使用這樣的提交 ID 在本地運行命令:
git reset --hard 798cd84
然后我跑git pull了,預期的快進發生了。
Updating 798cd845..22bd077a
Fast-forward
.
.
.
24 files changed, 705 insertions( ), 80 deletions(-)
在那之后,我做了git status,看到它在說
% git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
但本地沒有變化git log。git commit -m "my comments"顯然,我試過了,結果什么也沒做。
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
在 Bitbucket 上沒有任何變化,同樣很明顯,因為我沒有什么可以推動的。但是當我嘗試推送任何東西時,遙控器什么也沒有。它只是說Everything up-to-date。
所以,我怎么影響遙控器上的這種變化,如果有什么是本地,我可以做git commit或git push?
如果我把這件事弄得一團糟,我如何在本地恢復良好,以便我可以嘗試其他方法?
uj5u.com熱心網友回復:
如果我正確理解您的困惑,我認為關鍵是這一行:
您的分支和 'origin/master' 有分歧,分別有 16 和 15 個不同的提交。
因此,分支的兩個版本都有共同的歷史,然后:
- 本地歷史記錄中的 16 次提交
- 遠程歷史記錄中有 15 次提交
考慮到這些數字有多相似,16 個本地提交中有15 個是 15 個遠程提交的并行版本。也就是說,您或其他人已運行git rebase或相關命令,并創建了這些提交的新版本。
因此,當您丟棄 16 次提交并拉入遠程 15 次提交時,大多數日志歷史記錄看起來都相同——所有相同的提交訊息、作者和作者日期,除了您丟棄的那一個額外提交.
換句話說,看起來與遠程分支同步并沒有什么不同,因為它已經非常相似了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/378151.html
