Я улучшаю документ LaTeX моего друга в папке 1/2, в то время как он редактирует папку 1/1.
Исходное содержимое папок одинаковое.
Как вы можете объединить две папки в одну так, чтобы все файлы были объединены?
Я улучшаю документ LaTeX моего друга в папке 1/2, в то время как он редактирует папку 1/1.
Исходное содержимое папок одинаковое.
Как вы можете объединить две папки в одну так, чтобы все файлы были объединены?
Вы хотите найти различия в файлах в двух папках и объединить изменения?
Если вы ищете утилиту с графическим интерфейсом, вы можете использовать FileMerge, который можно найти в /Developer/Applications/Utilities/
если у вас установлены инструменты разработчика Apple. В нем есть некоторые странные ошибки - в основном, связанные с обработкой кодировки файлов.
Если вы ищете что-то более быстрое и приятное , загляните в Changes.app - он не дешевый, но стоил мне входной билет в несколько раз.
Если вы хотите сделать это через командную строку, вы можете использовать diff
чтобы найти различия, а затем вручную объединить файлы, чтобы получить список всех различий. (например, diff ~/Desktop/a ~/Desktop/b
)
Поскольку на Mac установлена версия unix, вы можете использовать все проверенные, проверенные и проверенные команды из установленного наследия UNIX.
Следующий код сделан Git-сообществом
#!/bin/sh
#
# Filemerge.app must not already be open before running
# this script, or opendiff below will return immediately,
# and the TMPDIRs deleted before it gets the chance to read
# them.
[ \$# -eq 7 ] && opendiff "\$2" "\$5"
EOF
chmod +x merge.sh
GIT_EXTERNAL_DIFF=./merge.sh git-diff
if test $# = 0; then
OLD=`git-write-tree`
elif test "$1" = --cached; then
OLD=HEAD
NEW=`git-write-tree`
shift
fi
if test $# -gt 0; then
OLD="$1"; shift
fi
test $# -gt 0 && test -z "$CACHED" && NEW="$1"
TMPDIR1=`mktemp -d`
git-archive --format=tar $OLD | (cd $TMPDIR1; tar xf -)
if test -z "$NEW"; then
TMPDIR2=$(git rev-parse --show-cdup)
test -z "$cdup" && TMPDIR2=.
else
TMPDIR2=`mktemp -d`
git-archive --format=tar $NEW | (cd $TMPDIR2; tar xf -)
fi
opendiff $TMPDIR1 $TMPDIR2 | cat
rm -rf $TMPDIR1
test ! -z "$NEW" && rm -rf $TMPDIR2
Вы можете запустить
opendiff folder1 folder2
добиться того, чего я хочу.