我是新來的git,我犯了一些變化,git告訴我需要先拉,所以我拉了,但我的編輯沒有顯示修改後的版本,所以我再次提交衝突,我解決了衝突並提交再次。現在我有3個提交! (雖然我認爲第一個不應該在那裏)我已經推入Git後如何合併提交?
問題是我每次提交後都會推送。那麼是否有合併這些推送提交的方法?
您能否提供一步一步的解釋?我已經使用SVN和CVS之前,但我很新與git
我是新來的git,我犯了一些變化,git告訴我需要先拉,所以我拉了,但我的編輯沒有顯示修改後的版本,所以我再次提交衝突,我解決了衝突並提交再次。現在我有3個提交! (雖然我認爲第一個不應該在那裏)我已經推入Git後如何合併提交?
問題是我每次提交後都會推送。那麼是否有合併這些推送提交的方法?
您能否提供一步一步的解釋?我已經使用SVN和CVS之前,但我很新與git
您所描述的情況似乎不太可能,因爲試圖去提交,而在下面的錯誤衝突的結果:
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.
如果你不能提交衝突然後運行git push不會實際推送更改。
您可以運行下面的命令來看看有什麼承諾實際發生
git log --patch --color
如果我corrrectly理解你的問題,這應該做你想要
可以壁球所有這三個是什麼與git rebase -i HEAD~3
一起承諾。這將基本上擺脫你的壞提交和你最後一個內容將是最終的內容。
當您運行該命令時,將會彈出一個編輯器。替換pick in the second and third line with
壁球。您將需要再次推出-f
標誌。
這將工作,如果他們是你的最後三個提交。如果它們遠遠落後於此。您將需要重新放回更遠的位置,並且只需要將squash
放在您要壓扁的兩個提交中。
我很困惑。可以向我們展示你的提交圖的頂部是怎樣的? (也就是說,當你運行'gitk'時你看到了什麼?) – svick
在你準備好分享你的東西之前,你不應該推動它。如果您仍然不確定回購中的內容是否正確(聽起來像是這種情況),您不應該推。 – Tekkub