大家听我一句劝,除非很明白,否则不要用git pull,你以为pull是push的反义词,其实应该对应fetch,用fetch!!!!

@konatasick 我平时也是直接pull好像也没踩过什么坑,此方遇到了什么情况

@TingHoTW @expecto_patronum 呃呃呃就是pull的时候直接把同事的分支merge到我自己的分支了,fetch的话只是分别拉取各自的分支不做merge所以不会有这样的问题

@TingHoTW @expecto_patronum 因为我之前一直把pull理解成push对应的操作,后来才知道fetch才是

@konatasick @expecto_patronum 為什麼還可以 merge 別人的分支?是不是人家把 code 推到你的在遠程的分支上面了?還是妳寫的東西的時候沒有自己 checkout 一支出來 :blobeyes:

@TingHoTW @expecto_patronum 是我在我自己的分支的时候pull了特定分支,结果它把那个分支直接merge到我现在在的本地分支(现在我可以理解了因为它做了fetch+merge)如果我在我自己的分支fetch,它会拉到一个本地新分支上。

@konatasick @TingHoTW 原来如此,我平时只pull develop这种分支,一般都是直接git pull不会带参数,所以没遇到过这种问题 :blobcat:

@expecto_patronum @TingHoTW 本质上就是我以为pull是pull结果fetch才是我理解的pull,都怪取名字的人不好好取名字!

跟隨

@konatasick @expecto_patronum 原來是這樣😂 但應該能直接 git reset HEAD 把最上面的 merge commit 給拆掉的。印象中本地有還沒 commit 的檔案的話,如果發生覆寫,merge 的時候會有提示需要停下來處理。

不過我覺得平常很少人會在 git pull 的時候帶參數,直接在自己的分支 pull 一般的沒事的,每次都要打兩個命令的話其實有點麻煩,以後記住如果只是要把 remote 的東西拉下來的時候用 git fetch 就好了(拍拍

@TingHoTW @expecto_patronum 我说了是因为我把pull理解成fetch了啊……如果我知道pull是fetch+merge我就不会这么操作了

@error @TingHoTW @expecto_patronum 不完全是,参考我后面发的文章,总之fetch不会伤害你

登入以加入討論
g0v.social

去中心化社群架設的去中心化社群網站.