国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【代碼管理】Git刪除倉庫中的大文件壓縮倉庫大小

這篇具有很好參考價值的文章主要介紹了【代碼管理】Git刪除倉庫中的大文件壓縮倉庫大小。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Git 倉庫中有時會不小心加入了一些大文件,例如模型文件,視頻文件
模型文件有可能以 .weights 結(jié)尾,或者 .onnx 結(jié)尾等等
視頻文件有可能以 .avi 結(jié)尾,或者 .mp4 結(jié)尾
大文件如果一直在倉庫中,倉庫體積會非常大,下面我們提供一個腳本,專門用于清理 倉庫中的文件使用。

倉庫清理腳本

本腳本旨在從指定的 Git 倉庫中移除不必要的 .weights 文件,優(yōu)化倉庫,并將更改推送到遠程服務(wù)器。它提供了用戶交互、詳細日志輸出及錯誤處理功能,以實現(xiàn)順暢且可靠的清理過程。

使用前準備

在使用本腳本之前,請確保滿足以下條件:

  • 您擁有一個包含待移除 .weights 文件的 Git 倉庫。
  • 已在系統(tǒng)上安裝 Git。

可選:為了提升性能,建議安裝 git-filter-repo 工具(通常通過 pip install git-filter-repo 安裝)。如果安裝了 git-filter-repo,腳本將自動使用它替代 git filter-branch 命令進行更高效的歷史清理。

使用方法

  1. 下載或復制腳本:將以下腳本保存為 clean_repo.sh 文件。

#!/bin/bash
# 清理指定倉庫中無用的.weights文件
# 通過命令行參數(shù)接收倉庫地址(文件夾路徑)

# 獲取倉庫路徑(優(yōu)先使用命令行參數(shù),否則使用當前目錄)
if [ -n "$1" ]; then
    repository_path="$1"
else
    repository_path="."
fi

# 檢查路徑是否存在且為Git倉庫
if [ ! -d "$repository_path" ] || ! (cd "$repository_path" && git rev-parse --is-inside-work-tree &>/dev/null); then
    echo "Error: The specified path '$repository_path' is not a valid Git repository."
    exit 1
fi

# 用戶確認是否繼續(xù)
read -p "Are you sure you want to proceed with cleaning the repository at '$repository_path'? [y/N] " confirm
confirm=${confirm,,}  # Convert to lowercase
if [[ $confirm != "y" ]]; then
    echo "Aborting the operation."
    exit 0
fi

cd "$repository_path" || exit 1  # 切換到指定倉庫目錄,若失敗則退出腳本

# 清理垃圾文件并記錄結(jié)果
echo "Cleaning up unnecessary .weights files..."
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.weights' --prune-empty --tag-name-filter cat -- --all || {
    echo "Error: Failed to clean up .weights files. Check the output above for details."
    exit 1
}

# 記錄清理前后的倉庫大小
before_size=$(du -sh .git | cut -f1)
echo "Repository size before cleanup: $before_size"

# 提交到遠程倉庫
echo "Pushing changes to remote repository (this may take some time)..."
git push origin --force --all || {
    echo "Error: Failed to push changes to the remote repository. Check your network connection and authentication settings."
    exit 1
}

# 回收垃圾并壓縮本地倉庫
echo "Performing garbage collection and compression..."
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now

# 可選:進行更深度的壓縮(視情況決定是否需要)
git gc --aggressive --prune=now

# 記錄清理后的倉庫大小
after_size=$(du -sh .git | cut -f1)
echo "Repository size after cleanup: $after_size"

echo "Cleanup completed successfully."

  1. 賦予執(zhí)行權(quán)限:在終端中,使用 chmod +x clean_repo.sh 命令為腳本賦予執(zhí)行權(quán)限。

  2. 執(zhí)行腳本

    • 指定倉庫路徑:運行 ./clean_repo.sh /path/to/repository,其中 /path/to/repository 是您要清理的倉庫路徑。
    • 使用當前目錄:如果您想清理當前目錄下的倉庫,只需運行 ./clean_repo.sh

    腳本將引導您完成確認、清理、推送、壓縮等步驟,并在過程中輸出詳細日志。文章來源地址http://www.zghlxwxcb.cn/news/detail-858808.html

注意事項

  • 謹慎操作:清理操作會修改倉庫歷史,可能導致分支合并復雜性增加。請確保所有團隊成員知曉此次清理,并在執(zhí)行前備份重要數(shù)據(jù)。
  • 權(quán)限要求:執(zhí)行清理和推送操作需具有相應(yīng)的 Git 權(quán)限。確保您有權(quán)修改所清理倉庫的歷史記錄及向遠程服務(wù)器推送更改。
  • 性能影響:對于大型倉庫,清理和壓縮過程可能耗時較長。請耐心等待,并確保網(wǎng)絡(luò)連接穩(wěn)定。
  • 清理效果:清理后,倉庫在本地和遠程的大小可能不會立即更新。請等待一段時間后刷新查看,或聯(lián)系服務(wù)提供商確認是否需要手動觸發(fā)更新。

到了這里,關(guān)于【代碼管理】Git刪除倉庫中的大文件壓縮倉庫大小的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • [linux] .git/objects/pack 刪除git的大文件

    參考:git進階 | 03 -如何徹底刪除git中的大文件_git 刪除大文件_Mculover666的博客-CSDN博客 (1)查看當前5個大文件 (2)一個一個將大文件從提交記錄中移除 (3)徹底刪除 (4)查看.git目錄大小 重新提交 但是報錯: Git push error pre-receive hook declined。。。。于是查了一下。。是因

    2024年02月05日
    瀏覽(28)
  • git 配置,代碼提交到倉庫,不小心將node_modules上傳,處理操作。.gitignore 刪除已提交的文件

    git 配置,代碼提交到倉庫,不小心將node_modules上傳,處理操作。.gitignore 刪除已提交的文件

    我們經(jīng)常會將將本地代碼上傳到線上倉庫,例如uni項目,我們通常會忽略node_modules文件上傳,其他同事從線上下載后,自行 npm install 安裝,那如何進行忽略呢? 找到.gitignore文件,把你想要忽略上傳的文件名稱填進去即可。之后正常執(zhí)行上傳步驟。 而且在項目文件里面也沒找到

    2024年02月13日
    瀏覽(96)
  • Git 刪除遠程倉庫中的分支

    要刪除遠程 Git 倉庫中的分支,您可以使用以下命令。請注意,刪除遠程分支可能會影響其他協(xié)作開發(fā)者,因此 請謹慎操作 , 謹慎 , 請謹慎操作 。 首先,確保您已經(jīng)將本地分支刪除(如果有必要): 或者,如果分支尚未合并,您可能需要使用 -D 標志來強制刪除本地分支:

    2024年02月06日
    瀏覽(14)
  • 【Git】Git刪除倉庫.idea文件

    目錄 1、控制臺執(zhí)行將.idea目錄加入ignore清單 2、從git中刪除idea緩存 3、將.gitignore文件加入git 4、提交gitiginore文件,且將.idea從源代碼倉庫中刪除 5、PUSH 從gitee上自動生產(chǎn)的.gitignore沒有忽略pycharn的python的.idea文件,本文講述如何刪除

    2024年02月10日
    瀏覽(18)
  • Git 刪除 GitHub倉庫的文件

    Git 刪除 GitHub倉庫的文件

    新建文件夾 git bash here 在新建的文件夾里右鍵git bash here打開終端,并執(zhí)行g(shù)it init初始化倉庫 git clone 你的地址 找到github上要刪除的倉庫地址,并復制,在終端里輸入git clone 你的地址 要刪除文件的庫里右鍵 git bash here 打開終端 在終端里輸入 dir 查看此文件夾下的文件和目錄(

    2024年02月12日
    瀏覽(20)
  • git 刪除倉庫中多余的文件或者文件夾

    git 刪除倉庫中多余的文件或者文件夾

    目錄 問題 解決方案 第一步:同步代碼 第二步:刪除文件 第三步:提交 第四步:推送遠端 在項目開發(fā)測試階段,將無意間將本地敏感的、或無用的文件或目錄不小心提交到遠程倉庫,該怎么解決呢。 ?先pull遠程代碼,保持同步。 填寫備注信息。 推送成功刷新倉庫。 如果

    2024年01月16日
    瀏覽(92)
  • 在 Git 中刪除不再位于遠程倉庫中的本地分支

    如果git倉庫將branch1被刪除,可以用用 git remote prune origin 刪除在本地電腦上的 remotes/origin/branch1 git remote show origin 可以看到下面所示,這樣的可以通過 git remote prune origin 刪除 上述只針對Deletes stale references associated with name. 分支(stale為三個月沒有提交的分支) 詳解: git branch

    2024年02月09日
    瀏覽(19)
  • git刪除遠程倉庫上已提交的文件/文件夾

    git刪除遠程倉庫上已提交的文件/文件夾

    由于給本地項目配置遠程庫,誤提交很多不應(yīng)該提交的文件或文件夾,比如 .idea .settings .project .iml 以及日志等文件。以及由于 .gitignore 文件配置不正確很有可能導致某些不需要的目錄上傳到 git 遠程倉庫上了。除了注意配置 .gitignore 文件外,以下是解決辦法。 提交了文件到自

    2024年02月11日
    瀏覽(40)
  • 刪除Github倉庫中的指定的文件或文件夾

    刪除Github倉庫中的指定的文件或文件夾

    在Github 倉庫中是無法通過鼠標操作直接刪除文件和文件夾的,那只能通過 git 命令來執(zhí)行刪除操作,當我們想刪除 First 分支中的 folder 文件夾及其內(nèi)部的文件? 和 file.c 文件? 時 1.當電腦存在對應(yīng)的本地文件夾時,直接拉取遠程信息,并更新至最新數(shù)據(jù)。? 這時文件中的數(shù)據(jù)

    2024年02月08日
    瀏覽(38)
  • 刪除本地文件后,使用 git pull 命令從遠程倉庫無法拉取到被刪除文件的解決方案

    刪除本地文件后,使用 git pull 命令從遠程倉庫無法拉取到被刪除文件的解決方案

    一、問題描述: 從git上拉取文件后,在本地有修改文件,導致文件爆紅。然后修改的內(nèi)容又不想提交,就把爆紅的文件刪除掉了,想重新從git上拉取,但是此時卻拉取不成功了。(雖顯示已更新,但并未成功)? 1.git pull 2.git status查看當前的狀態(tài),也提示了有被刪除的文件。 二

    2024年01月18日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包