git-filter-branch

    0热度

    1回答

    这是我的情况: 我想做一次完成推到git回购。所以,我照常做了add,commit和push。除此之外,我忘记了之前提交的其他文件也被推送。所以,现在有不必要的文件污染了我推送到的远程回购(repo)(远程)。我想删除这些不必要的文件。 我不想从远程回购拉,因为我不想获取任何这些文件。所以,我实际上想要做一些类似于git filter-branch的事情,但仅限于远程回购。 如何在不本地再次推/拉

    4热度

    2回答

    请考虑以下示例。 mkdir pgp-git-test cd pgp-git-test git init touch a.txt git add a.txt git commit -m "Add a.txt" -S touch b.txt git add b.txt git commit -m "Add b.txt" -S git filter-branch --index-fi

    2热度

    1回答

    首先,我看看这个question,这与我在此处提到的完全相同。但问题是在问题中给出的solution,对我不起作用。 给出的解决方案是这样的: git filter-branch --tree-filter "cd x; mkdir -p p/q; mv [files & sub-dirs] p/q" HEAD 移动文件&子目录x下x/p/q。 这正是我想要的。但是,当我尝试时,这不起作用。 我的

    3热度

    1回答

    例如我想破解angularjs的代码,所以我简单地使用git clone https://github.com/angular/angular.git克隆它,以模拟更新场景,我将使用git reset --hard HEAD~10来放弃最近的提交,git pull在重置后大大地工作,因为它可以从更新远程回购容易,但与过滤分支,GIT拉是痛苦的,我的问题是如何处理这种痛苦。 因为我只能对自己的回购进

    1热度

    2回答

    我有一个巨大的git存储库(810mb),其中包含不应存在的大文件:位于文件夹build/java中的用于分发的完整JRE归档。 我试图删除这些文件,所以我跑: git filter-branch --tree-filter 'rm -rf build/java' HEAD 我现在看到的消息:Your branch and 'origin/develop' have diverged, and

    5热度

    2回答

    我正在将旧的CVS存储库转换为git,除非所有提交都是UTC,而不是每个作者的本地时区,否则它工作得很好。 我想在每个作者的基础上更改这些提交的时区,例如,来自一位作者的所有提交从+0000改为+1000,而来自其他作者的提交保持不变。 (所以我可以为每个作者执行一次这个过程。) 实际时间应该保持不变,所以当前02:00:00 +0000的提交应该变为12:00:00 +1000。 这是可能的东西

    13热度

    2回答

    我有一个git分支我需要核弹的所有痕迹。我想,我需要这样的东西 git filter-branch --index-filter 'git -D <branch>' --tag-name-filter cat -- --all 也许 git filter-branch --index-filter 'git rm --cached *' --tag-name-filter cat -- <br

    1热度

    1回答

    是否有可能通过一次传递git filter-branch来批量重命名2个或更多的电子邮件地址? 我试图只是复制if..fi clause从this answer适应代码: git filter-branch --commit-filter ' if [ "$GIT_COMMITTER_NAME" = "<Old Name 1>" ]; then GIT_CO

    1热度

    1回答

    我忘记了rm refs/original后git filter-branch和git gc,它清除了refs。我也承诺进入新的回购协议,并希望保留这些提交。 提取的分支大小为几千字节,但.git仍然权重80 MB,就像过滤之前一样。 现在refs为空,我不能轻易删除refs/original了。我怎样才能删除原件?如果可能,我想避免再次使用filter-branch。

    0热度

    2回答

    我需要重写分支,放弃对特定子文件夹(例如,其路径为path/to/folder)所做的所有更改及其内容在从指定的start修订版开始的修订范围之间并在HEAD结束。接受start修订版之前的更改。 我考虑过使用git-filter-branch来做到这一点,但不知道使用哪个过滤器。我认为对每个提交使用'git-reset'到子文件夹可能会有效,但是这个post让我质疑这种方法是否可行。 问题:如何