2017-01-17 46 views
0

我試圖壓扁另一個用戶推送的一些提交。即使提交已經在我的git日誌上進行了本地壓縮,但當我嘗試強制推送到主分支時,它不會更改遠程repo的提交歷史記錄。任何想法爲什麼?更改另一個用戶的提交消息?

謝謝。

+1

這通常是一個壞主意。你確定要這樣做嗎?假設你這樣做了,Git命令的一些輸出可能會有用。這聽起來像你的力量推動沒有奏效。 –

+0

是的,我確定我想要這樣做。這是一個個人回購,由朋友發起,然後交給我,所以我做的任何事情都不會影響其他人。 Git的輸出結果表明,推動力確實有效,並且「一切都是最新的」,但是我的在線提交歷史記錄卻表明了否則。 – msun

回答

0

幾個小時的搜索後,我發現我錯了從基礎重建的過程中我的主分支脫離我的頭(即我在當前目錄),並製作提交,所以我當我跑

git push --force origin master 

git發給我一個確認消息,但並沒有實際應用我在分支中所做的更改,只有來自主分支的更改。是否有分離的HEAD可以通過運行來檢查

git symbolic-ref HEAD 

如果它拋出一個錯誤,那麼頭被分離。或

git branch 

它顯示我在哪個分支。

對於其他Git的新手,該解決方案是通過合併從分離走向原創分支我的變化

git branch temp (this creates a branch that is the same as the current repository) 
git checkout temp (this attaches HEAD to temp) 
git checkout master (moves HEAD back to master) 
git merge temp (merges temp with master) 
git push --force origin master (overwrites old commits that I've pushed) 

更多信息可以在這裏找到:How can I reconcile detached HEAD with master/origin?

感謝所有的人誰回答了這個網站上的東西。