[问题] git log 保留部份最新

楼主: yshihyu (yshihyu)   2017-09-03 01:28:29
我从有从github 抓了一包程式 , 发现 .git 太大
我想把保留最新的20笔 git commit 资料
请问要怎么做才可以只保留最新20笔
抱歉我讲一下我推到bitbucket 步骤
1. git clone https://github.com/xxxx/xxxx.git
作者: Bencrie   2017-09-03 01:48:00
git clone --depth 20
楼主: yshihyu (yshihyu)   2017-09-03 10:19:00
这方法我测试过确实可以!但是我遇到我想把这包程式里面的20笔commit 资料推到另外一个 repo 会失败...错误讯息印象中是提到没有是git log 不完整
作者: Bencrie   2017-09-03 13:03:00
那你还是 pull unswallow 整个拉下来吧没人知道你那 20 commits 树枝是怎么长的
楼主: yshihyu (yshihyu)   2017-09-03 17:33:00
! [remote rejected]master -> master (shallow updatenot allowed)git fetch --unshallow origin <-- 网络上说这样解决可是我这样做看起来又把所有 commit 都pull 下来
作者: danny8376 (钓到一只猴子@_@)   2017-09-04 00:56:00
就是要全pull下来 你没完整tree怎知道你要push到哪
楼主: yshihyu (yshihyu)   2017-09-04 11:22:00
那有办法针对最新20笔 commit 重建tree 嘛?
作者: Vett (Vett)   2017-09-04 16:15:00
我有时间研究这个我会直接把整个tree拉下来
作者: Bencrie   2017-09-04 17:37:00
原 po 也没说是怎么推的。merge/rebase 还是 cherry-pick你 backup 那个也 checkout 成 local branch 再 merge不然就土法炼钢 git format-patch -20 & git am XD
作者: soem (流水)   2017-09-07 01:38:00
试了一下,似乎可以用commit-tree合并重建21个commit以前,然后用cherry-pick -m 1拉剩下的20个commit

Links booklink

Contact Us: admin [ a t ] ucptt.com