我想壓縮6個提交到一個單一的提交使用我已經推到GitHub的分支。壁球提交在Git桌面
我試圖通過命令行來做到這一點,但我一直接受no-op而不是該分支的提交。
有沒有辦法通過GitHub桌面來做到這一點,可能會更有意義?
請儘可能一步步提供;
我對使用GitHub出於協作目的不熟悉,而且我的知識並沒有跨越git add,commit和push這麼遠。
我想壓縮6個提交到一個單一的提交使用我已經推到GitHub的分支。壁球提交在Git桌面
我試圖通過命令行來做到這一點,但我一直接受no-op而不是該分支的提交。
有沒有辦法通過GitHub桌面來做到這一點,可能會更有意義?
請儘可能一步步提供;
我對使用GitHub出於協作目的不熟悉,而且我的知識並沒有跨越git add,commit和push這麼遠。
爲了做一個git壁球遵循這些步驟:
// X is the number of commits you wish to squash, in your case 6
git rebase -i HEAD~X
一旦壁球你的提交 - 選擇s
爲壁球=將所有提交合併成一個單一的提交。
你也有--root標誌的情況下,你需要它
嘗試:git rebase -i --root
--root
Rebase all commits reachable from <branch>, instead of limiting them with
an <upstream>.
This allows you to rebase the root commit(s) on a branch.
When used with --onto, it will skip changes already contained in `<newbase>`
(instead of `<upstream>`) whereas without --onto it will operate on every
change. When used together with both --onto and --preserve-merges, all root
commits will be rewritten to have `<newbase>` as parent instead.`
這個職位來自Thoughtb或許可以通過命令行幫助你解決問題。最好確切地知道你在做什麼,而不是依靠Git的GUI工具。從長遠來看,這會對你有利。
https://robots.thoughtbot.com/git-interactive-rebase-squash-amend-rewriting-history
也許這會聽起來很傻,但是當我嘗試在VIM屏幕上的命令行中輸入「S」,它只是將覆蓋「挑」的第一個「P」。我如何真正將它傳遞給命令?我也嘗試過:但它會產生消息「E33:沒有以前的替代正則表達式」 – Shwheelz
您不能擠壓第一個,如果您想擠壓它將X設置爲7 – CodeWizard
因此,如果我將「pick」更改爲「squash」對於第一個之後的5次提交,如何用vim「保存」? – Shwheelz