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讓我質疑這種方法是否可行。 問題:如何