Вы пробовали searchsorted
?
A = np.array([1,2,3,4,5,6,7,8,9,10])
B = np.array([1,7,10])
A.searchsorted(B)
# array([0, 6, 9])
git --git-dir=../repo --work-tree=. add foo
Это сделает то, что Вы хотите, но очевидно высосете, когда необходимо указать, что это с каждым мерзавцем управляет, чтобы Вы когда-либо использовали.
можно экспортировать GIT_WORK_TREE=.
и GIT_DIR=../backup
, и Мерзавец возьмет их на каждой команде. Это только удобно позволит Вам работать в едином репозитории на оболочку, все же.
I’d скорее предлагают symlinking .git каталог где-то в другом месте, или создание символьной ссылки на .git каталог из Вашего основного резервного каталога.
Это является стандартным для именования каталога, который является репозиторием мерзавца, который имеет его рабочее дерево в необычном месте с '.git' расширение, во многом как пустой репозиторий.
mkdir ../git_repos/myfiles.git
, Если бы Вы обеспечили --work-tree
опция в init время затем, это автоматически настроило бы core.worktree
переменная конфигурации, которая означает, что мерзавец будет знать, где найти рабочее дерево, после того как Вы указываете каталог мерзавца.
git --git-dir=../git_repos/myfiles.git --work-tree=. init
, Но можно установить эту переменную после факта также.
git --git-dir=../git_repos/myfiles.git config core.worktree "$(pwd)"
, После того как Вы сделали это, добавить команда должна работать как ожидалось.
git --git-dir=../git_repos/myfiles.git add foo
Вы могли создать "nodgit" сценарий (Никакой Точечный МЕРЗАВЕЦ) с somet как
#!/bin/sh
gits=/usr/local/gits
x=`pwd`
testdir() {( cd $1; pwd; )}
while [ "$x" != "/" ]; do
y=`echo $x|sed -e "s/\//__/g"`
if ([ -d "$gits/$y" ]); then
export GIT_DIR="$gits/$y"
export GIT_WORK_TREE="$x"
if ([ "$1" = "nodinit" ]); then
mkdir -p "$GIT_DIR"
git init --bare; exit $?
elif ([ "$1" = "shell" ]); then
bash; exit $?
else
exec git "$@"
fi
fi
x=`testdir "$x/.."`
done
Можно назвать nodgit вместо мерзавца, и он установит переменные по мере необходимости путем поиска мерзавца repo. Например, скажите, что у Вас есть (пустой) repo в/usr/local/gits / __ домой __ foo_wibbles, и Вы находитесь в в/home/foo/wibbles/one затем, он найдет корректный рабочий каталог (/home/foo/wibbles) и repo.
О, можно также использовать "nodgit оболочку" для получения оболочки с корректным набором Вара, таким образом, можно использовать простые команды мерзавца.
Принятие Вашего myfiles
каталоги уже существуют и имеют некоторое содержание, могли Вы жить с этим:
cd ~/backup
git init
git add myfiles
.git
каталог будет в backup
, не в myfiles
.