在WINDOWS下使用GIT 命令 把特定檔案 所有的變化的都獨立抓出來放在同一資料夾之中

在WINDOWS下使用GIT 命令 把特定檔案 所有的變化的都獨立抓出來放在同一資料夾之中

在WINDOWS下使用GIT 命令 把特定檔案 所有的變化的都獨立抓出來放在同一資料夾之中


資料來源: https://www.perplexity.ai/search/zai-windowsxia-shi-yong-git-mi-GP8uxMxzTYiv8ao5ZrmMCw


01.AI教學: 再專案目錄下 點右鍵 選擇 「顯示其他選項」


02.AI教學: 點選 「Git Bash Here」


03.AI教學: 給出下面Bash

#!/bin/bash
FILE_PATH="path/to/yourfile.txt"  # 替換成你的檔案路徑
EXPORT_TO="/c/temp/file_versions"  # 目標資料夾

mkdir -p "$EXPORT_TO"
COUNT=0

git log --diff-filter=d --date-order --reverse --format="%ad_%H" --date=iso-strict -- "$FILE_PATH" | \
while read DATE COMMIT; do
    COUNT=$((COUNT+1))
    git show "$COMMIT:$FILE_PATH" > "$EXPORT_TO/${COUNT}_$DATE_$(basename $FILE_PATH)"
done


04.我告訴AI 我的路徑相關訊息如下:

C:\\Users\\jashv\\OneDrive\\桌面\\GITHUB\\127\\VPOS_Avalonia 我的專案目錄

C:\\Users\\jashv\\OneDrive\\桌面\\GITHUB\\127\\VPOS_Avalonia\\VPOS_Avalonia\\Views\\TakeawaysDetail.axaml 我的檔案完整路徑


05.AI幫我產生下面Bash

mkdir -p /c/Users/jashv/OneDrive/桌面/file_versions

#!/bin/bash
FILE_PATH="VPOS_Avalonia/Views/TakeawaysDetail.axaml"
EXPORT_TO="/c/Users/jashv/OneDrive/桌面/file_versions"

mkdir -p "$EXPORT_TO"
COUNT=0

git log --diff-filter=AM --date-order --reverse --format="%ad_%h" --date=iso-strict-local -- "$FILE_PATH" | \
while IFS=_ read DATE COMMIT rest; do
    COUNT=$((COUNT + 1))
    git show "$COMMIT":"$FILE_PATH" > "$EXPORT_TO/${COUNT}_${DATE}_$(basename "$FILE_PATH")"
    echo "提取版本 $COUNT: $DATE ($COMMIT)"
done

echo "完成!總共 $COUNT 個版本,已存到 $EXPORT_TO"

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *