git-rewrite-history

    0熱度

    1回答

    在我的git倉庫中,我只有包含8個提交的主分支。 在提交2中,我插入了一個錯誤的類,現在我會在提交2中以這種方式重寫git歷史記錄。我沒有錯誤的類,因此下一個提交沒有提交。 什麼是正確的方法來做到這一點? 在此先感謝。

    2熱度

    4回答

    我一直在使用github作爲一個項目一段時間,但僅作爲問題跟蹤器。所以,今晚我花了一些時間用代碼來解決問題,並且犯了一個菜鳥的錯誤:我提交了證書文件和其他不必要的數據。我已經將這些文件添加到了.gitignore文件中,並且它們不再是問題,但是我看到它們在歷史記錄中可用。 這提出了一個安全問題,所以我必須對此進行分類並刪除那些敏感數據。我是目前唯一的開發人員,所以這就是爲什麼我只將代碼保存在我的電

    6熱度

    2回答

    我想合併多個Git倉庫(讓我們說repoA和repoB)到一個新的倉庫。新的存儲庫(repoNew)應該在一個單獨的子目錄中包含每個repoA和repoB。由於我到現在爲止只在本地工作,我可以做任何我想要的存儲庫。 在這些情況下,標準方法似乎是使用git filter-branch來重寫每個repoA和repoB的歷史記錄,使其看起來好像它們一直位於子文件夾中,然後將它們合併到repoNew中。

    7熱度

    2回答

    我實際上有兩個版本庫: main external 的main庫中一段時間​​後合併爲external/main目錄(作爲子樹)。 現在我想將對external/main所做的更改遷移回main存儲庫,但只有這些提交以及其他無關的提交才能執行external/<anything-else>。 我其實嘗試過的經典: git filter-branch --tag-name-filter cat --

    2熱度

    2回答

    我們有一個相當龐大的代碼庫,包含大約60000個提交。我們希望在保留git歷史的同時重新格式化所有的.java文件。因此,我們採用的方法是使用git filter-branch --tree-filter重新格式化整個代碼庫,同時保持歷史記錄不變。但是,有幾個問題我無法找到答案。 當我應用--tree過濾器,並通過重新格式化所有.java文件的根目錄下,重寫發生的命令,但在最後,我看到的所有.ja

    1熱度

    1回答

    當我嘗試苗條我的回購使用命令: git filter-branch --force --tree-filter 'rm -rf `/Volumes/RamDisk/FF/large_files.txt | cut -d " " -f 2` ' --prune-empty master 我得到的輸出在我的控制檯: Rewrite 072caf825338a50130903528862caa12c

    2熱度

    3回答

    我已經將一個大的SVN存儲庫遷移到GIT,並且有相同作者的相同消息的連續提交大量。 現在我想自動修改提交到一個單一的提交。 想法?

    28熱度

    2回答

    我發現BFG比原來的git-filter-branch快得多。 我們有多個svn repo移動到更多git存儲庫,這意味着一些存儲庫文件夾合併和拆分。 在這個過程中,我需要刪除一組根文件夾,我想刪除那些到整個歷史。 我試圖使用BFG - 刪除文件夾它工作正常,但我沒有找到一種方法來刪除多個文件夾。它甚至有可能嗎?或者我應該循環呼叫BFG多次,因爲我有文件夾要刪除? 感謝您的任何幫助。

    4熱度

    3回答

    我之前被問及#git的這個問題,但由於其合理實質性,我將在此處發佈它。我想在回購庫上運行filter-branch,以使用python腳本通過數百次提交修改(數千個)文件。我在回購目錄使用以下命令調用clean.py腳本: git filter-branch -f --tree-filter '(cd ../cleaner/ && python clean.py --path=files/*/*/

    3熱度

    1回答

    假設我有一個Git倉庫,其中包含大量樹(〜60 GiB)和一些歷史記錄,其中舊版本包含許多已刪除的文件。 我現在想刪除舊的歷史,但沒有rebase荷蘭國際集團所有提交剪枝點之後,因爲那樣會需要幾個小時每次提交。 我可以只刪除第一個承諾要移除的對象,並希望git gc刪除所有(現未引用的)舊的?或者這會導致恐慌,因爲缺少物體? 我可以使用git replace更換一次提交我想用一個假除去提交和然後呼