Как я могу экспортировать все файлы, измененные в последнем коммите?Скопировать все файлы, измененные в последнем фиксаторе
Могу ли я получить только список последних зафиксированных файлов - это отдельная папка?
Как я могу экспортировать все файлы, измененные в последнем коммите?Скопировать все файлы, измененные в последнем фиксаторе
Могу ли я получить только список последних зафиксированных файлов - это отдельная папка?
Создайте файл с именем git-copy.sh со следующим содержанием:
#!/bin/bash
# Target directory
TARGET=$3
echo "Finding and copying files and folders to $TARGET"
for i in $(git diff --name-only $1 $2)
do
# First create the target directory, if it doesn't exist.
mkdir -p "$TARGET/$(dirname $i)"
# Then copy over the file.
cp "$i" "$TARGET/$i"
done
echo "Files copied to target directory";
Выполнить сценарий как команду из корня вашего проекта мерзавца:
./git-copy.sh git-hash-1 git-hash-2 path/to/destination/folder
Он скопирует все файлы с одинаковой структурой каталогов в t он папку назначения.
Вот небольшой баш (Unix) сценарий, который я написал, что будет копировать файлы для данной фиксации хэш со структурой папок:
ARRAY=($(git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $1))
PWD=$(pwd)
if [ -d "$2" ]; then
for i in "${ARRAY[@]}"
do
:
cp --parents "$PWD/$i" $2
done
else
echo "Chosen destination folder does not exist."
fi
Создайте файл с именем «~/Scripts/копия фиксации. ш», то дать ему привилегии выполнения:
chmod a+x ~/Scripts/copy-commit.sh
Тогда из корня репозитория мерзавца:
~/Scripts/copy-commit.sh COMMIT_KEY ~/Existing/Destination/Folder/
Чтобы получить последний хэш-код фиксации:
git rev-parse HEAD