git cherry-pick 與 git show + git apply 與 git merge
如果是有部分的更改或新增功能,用 git merge 有時候不見得是好主意
如果是有部分的更改或新增功能,用 git merge 有時候不見得是好主意
今天遇到的狀況是,不小心把 local branch detach, 而且原本的 local branch 整個被改爛,然後要把修改過的東西(detached HEAD) push 回 remote branch,並把爛掉的 local branch track 上正確的 remote branch
其實就是同事弄錯的事情經過 起因是同事想把Branch A倒退回前先前的 commit (rollback),下命令要直接對remote上的 branch 改指到某個 commit 上,但是因為工時太長(x)恍神(o)下錯命令… #當下在3d_new這個branch上,要rollback一個commit,所以理論上要這樣 ~/testGit/gittest$ git push –force origin HEAD^:3d_new #但是下錯命令變成改到3d_test去 ~/testGit/gittest$ git push –force origin HEAD^:3d_test Total 0 (delta 0), reused 0 (delta 0) To git@git_url:group_name/gittest.git + 62f6af0…36b6b05 HEAD^ -> 3d_test (forced update) 這樣的結果變成 3d_test 的 HEAD 被定到 3d_new 的 HEAD^ 去,如果這時候比較 local 與 remote repository 會發現,local上3d_test的commit從與 3d_new […]
人總是會有手殘眼糊腦弱的時候,總要有補救辦法。