История изменений
Исправление intelfx, (текущая версия) :
Тогда это не решается средствами Git как такового. Вот тебе bash-скрипт, который, надеюсь, делает то, что нужно.
#!/bin/bash
set -e
git checkout "$1"
shift
for arg; do
git cherry-pick "$(git log --pretty=format:%H --date-order --merges -1 "$arg")..$arg"
done
Первым аргументом — целевая ветка, дальше — откуда черри-пикать (порядок, естественно, имеет значение).
Исправление intelfx, :
Тогда это не решается средствами Git как такового. Вот тебе bash-скрипт, который, надеюсь, делает то, что нужно.
#!/bin/bash
function last_merge() {
git log "$1" --pretty=format:%H --date-order --merges -1
}
set -e
DEST_BRANCH="$1"
shift
git checkout "$DEST_BRANCH"
for arg; do
git cherry-pick "$(last_merge "$arg")..$arg"
done
Первым аргументом — целевая ветка, дальше — откуда черри-пикать (порядок, естественно, имеет значение).
Исправление intelfx, :
Тогда это не решается средствами Git как такового. Вот тебе bash-скрипт, который, надеюсь, делает то, что нужно.
#!/bin/bash
function git_log_hash() {
git log --pretty=format:%H "$@"
}
function last_merge() {
git_log_hash "$1" --date-order --merges -1
}
set -e
DEST_BRANCH="$1"
shift
git checkout "$DEST_BRANCH"
for arg; do
git cherry-pick "$(last_merge "$arg")..$arg"
done
Первым аргументом — целевая ветка, дальше — откуда черри-пикать (порядок, естественно, имеет значение).
Исправление intelfx, :
Тогда это не решается средствами Git как такового. Вот тебе bash-скрипт, который, надеюсь, делает то, что нужно.
#!/bin/bash
function git_log_hash() {
git log --pretty=format:%H "$@"
}
function last_merge() {
git_log_hash "$1" --date-order --merges -1
}
set -e
DEST_BRANCH="$1"
shift
git checkout "$DEST_BRANCH"
for arg; do
git cherry-pick "$(last_merge "$arg")".."$arg"
done
Первым аргументом — целевая ветка, дальше — откуда черри-пикать (порядок, естественно, имеет значение).
Исправление intelfx, :
Тогда это не решается средствами Git как такового. Вот тебе bash-скрипт, который, надеюсь, делает то, что нужно.
#!/bin/bash
function git_log_hash() {
git log --pretty=format:%H "$@"
}
function last_merge() {
git_log_hash "$1" --date-order --merges -1
}
function since_last_merge() {
git_log_hash "$(last_merge "$1")..$1"
}
set -e
DEST_BRANCH="$1"
shift
git checkout "$DEST_BRANCH"
for arg; do
git cherry-pick $(since_last_merge "$arg")
done
Первым аргументом — целевая ветка, дальше — откуда черри-пикать (порядок, естественно, имеет значение).
Исходная версия intelfx, :
Тогда это не решается средствами Git как такового. Вот тебе bash-скрипт, который, надеюсь, делает то, что нужно.
#!/bin/bash
function git_log_hash() {
git log --pretty=format:%H "$@"
}
function last_merge() {
git_log_hash "$1" --date-order --merges -1
}
function since_last_merge() {
git_log_hash "$(last_merge "$1")..$1"
}
set -e
DEST_BRANCH="$1"
shift
git checkout "$DEST_BRANCH"
for arg; do
git cherry-pick $(since_last_merge "$arg")
done
Целевая ветка — первым аргументом, дальше — откуда черри-пикать (порядок, естественно, имеет значение).