基于GitLab數(shù)據(jù)的還原研究
1.通過(guò)oss權(quán)限獲取部分不明數(shù)據(jù)
1.1全部數(shù)據(jù)及格式分析
1.1.1下載文件中的文件內(nèi)容
通過(guò)oss服務(wù)器獲取了一些包含bundle、checksum、list、lsremote后綴文件。
1.list文件內(nèi)容
2.lsremote文件內(nèi)容
3.bundle文件內(nèi)容
bundle中發(fā)現(xiàn)有g(shù)it bundle
4.checksum文件內(nèi)容
checksum文件內(nèi)容是哈希校驗(yàn)值。
1.2git bundle還原
1.2.1git bundle簡(jiǎn)介
git bundle 是一種將 Git 倉(cāng)庫(kù)的對(duì)象和引用打包到一個(gè)文件中的方法。這種文件通常以 .bundle 為擴(kuò)展名。要“解壓”一個(gè) Git bundle 文件,可以通過(guò) Git 提供的命令將其內(nèi)容導(dǎo)入到一個(gè) Git 倉(cāng)庫(kù)中。雖然不能直接用傳統(tǒng)的解壓工具(如 unzip)解壓 .bundle 文件,但你可以使用 Git 命令來(lái)處理它。
1.2.2git安裝
1. Windows
訪問(wèn) Git for Windows 官網(wǎng)(https://git-scm.com/download/win),下載最新的安裝程序(通常是一個(gè) .exe 文件)。https://github.com/git-for-windows/git/releases/download/v2.46.0.windows.1/Git-2.46.0-64-bit.exe
(1)運(yùn)行安裝程序
雙擊下載的 .exe 文件啟動(dòng)安裝向?qū)В凑障驅(qū)У闹甘具M(jìn)行安裝。大多數(shù)用戶可以使用默認(rèn)設(shè)置,但你可以根據(jù)需要自定義安裝選項(xiàng)。
(2)驗(yàn)證安裝
安裝完成后,打開(kāi)命令提示符(cmd)或 Git Bash。
輸入以下命令確認(rèn)安裝成功:
git --version
2. macOS安裝
brew install git
3. Linux安裝
(1)Ubuntu/Debian
sudo apt update
sudo apt install git
(2)Fedora
sudo dnf install git
(3)CentOS/RHEL
sudo yum install git
1.2.3Git Bundle相關(guān)命令
1.導(dǎo)入 Git Bundle
(1)創(chuàng)建一個(gè)新的空 Git 倉(cāng)庫(kù)(如果還沒(méi)有的話)
git init new-repo
cd new-repo
(2)將 bundle 文件的內(nèi)容導(dǎo)入到新的倉(cāng)庫(kù)中
git fetch /path/to/your.bundle
這會(huì)將 bundle 文件中的所有對(duì)象和引用導(dǎo)入到當(dāng)前 Git 倉(cāng)庫(kù)中。
(3)檢查 bundle 文件的有效性
git bundle verify /path/to/your.bundle
(4)將 bundle 文件的內(nèi)容合并到現(xiàn)有的 Git 倉(cāng)庫(kù)中
git merge FETCH_HEAD
這些步驟將使你能夠訪問(wèn)和使用 Git bundle 文件中的內(nèi)容。
1.2.4實(shí)戰(zhàn)還原
1.確認(rèn)bundle文件
D:\938502445ec53a1683c0cdecd5fe60142adc7648\63804a88b92fc713d05a7c53_*****-framework-full-20240309162944.bundle
2.從bundle 文件中獲取數(shù)據(jù)
git fetch D:\938502445ec53a1683c0cdecd5fe60142adc7648\63804a88b92fc713d05a7c53_l*****-framework-full-20240309162944.bundle
3.驗(yàn)證數(shù)據(jù)
git bundle verify D:\938502445ec53a1683c0cdecd5fe60142adc7648\63804a88b92fc713d05a7c53_*****-framework-full-20240309162944.bundle
4.查看pack文件
5.查看詳細(xì)文件信息
git verify-pack -v .git/objects/pack/pack-a8d9691e57b4675160f9e3487eb5bc4b86716e24.pack
6.直接合并所有文件
git merge FETCH_HEAD