在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"