Могу ли я использовать сценарий коммитов для git?

Сегодня я столкнулся с тем же вопросом. Это оказалось проблемой, когда у меня было установлено несколько пакетов numpy. Более старая версия была установлена ​​в /usr/lib/python2.7, и правильная версия была установлена ​​в /usr/local/lib/python2.7.

Кроме того, у меня был PYTHONPATH=/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages. PYTHONPATH находил более старую версию numpy до правильной версии, поэтому, когда внутри интерпретатора Python, она импортировала бы более старую версию numpy.

Одна вещь, которая помогла открыть сеанс python, выполнить следующий код :

import numpy as np 
print np.__version__ 
print np.__path__

Это должно сказать вам, какую версию Python использует, и где она установлена.

Чтобы исправить проблему, я изменил PYTHONPATH=/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages. И я также настраиваю виртуальную среду Python с помощью руководства Hitchiker для Python , в частности раздела под названием «Нижний уровень: virtualenv». Я знаю, что мне нужно было настроить виртуальную среду, но я устал и ленился.

(Обновление)

На всякий случай, когда документы будут перемещены снова, вот соответствующие бит на ...

Создание Виртуальная среда Python

Установите virtualenv через pip:

$ install virtualenv

Проверьте установку:

$ virtualenv --version

Опционально, переменная среды VIRTUALENVWRAPPER_PYTHON изменится версия python по умолчанию, используемая виртуальными средами, например, для использования Python 3:

$ export VIRTUALENVWRAPPER_PYTHON=$(which python3)

. При необходимости установите переменную среды WORKON_HOME, чтобы изменить каталог по умолчанию, в котором созданы виртуальные среды Python, для Пример использования /opt/python_envs:

$ export WORKON_HOME=/opt/python_envs

Создание виртуальной среды для проекта:

$ cd my_project_folder
$ virtualenv my_virtual_env_name

Активировать созданную виртуальную среду. Предположим, вы также установили WORKON_HOME=/opt/python_envs:

$ source $WORKON_HOME/my_virtual_env_name/bin/activate

Установите все пакеты Python, которые требуется вашему проекту, используя один из двух следующих методов.

Способ 1 - Установить с помощью pip из командной строки:

$ pip install python_package_name1
$ pip install python_package_name2

Способ 2 - Установить с помощью файла requests.txt:

$ echo "python_package_name1" >> requests.txt
$ echo "python_package_name2" >> requests.txt
$ pip install -r ./requests.txt

Необязательно, но настоятельно рекомендуется установить virtualenvwrapper. Он содержит полезные команды, облегчающие работу с виртуальными средами Python:

$ pip install virtualenvwrapper
$ source /usr/local/bin/virtualenvwrapper.sh

В Windows установите virtualenvwrapper, используя:

$ pip install virtualenvwrapper-win

Базовое использование virtualenvwrapper Создайте новый виртуальный среда:

$ mkvirtualenv my_virtual_env_name

Список всех виртуальных сред:

$ lsvirtualenv

Активировать виртуальную среду:

$ workon my_virtual_env_name

Удалить виртуальную среду (предостережение! необратимо!):

$ rmvirtualenv my_virtual_env_name

Надеюсь, эта помощь!

30
задан hjpotter92 18 March 2014 в 08:01
поделиться

2 ответа

Вы, вероятно, захотите настроить ловушку prepare-commit-msg в вашем локальном репозитории. Это может выглядеть так (скажем, ветки названы 'work-on-ticket-XXXX':

#!/bin/sh
ORIG_MSG_FILE="$1"
TEMP=`mktemp /tmp/git-XXXXX`

TICKETNO=`git branch | grep '^\*' | cut -b3-`

(echo "Work on ticket #$TICKETNO"; cat "$ORIG_MSG_FILE") > "$TEMP"
cat "$TEMP" > "$ORIG_MSG_FILE"

Поместите что-нибудь подобное (помеченный исполняемый файл) в .git / hooks / prepare-commit-msg . Вам, возможно, придется, конечно, отрегулировать и уточнить это.

40
ответ дан 27 November 2019 в 21:00
поделиться

Похоже, вы сможете сделать это, используя .git / hooks / pre-commit-msg

Простым примером этого может быть:

#!/bin/sh
# $1 contains the file with the commit msg we're about to edit.
# We'll just completely clobber it for this example.
echo "Hello" > "$1"

Это заставит вас коммит начинается с «Привет». Очевидно, поскольку это скрипт, вы можете поработать здесь волшебно, чтобы заполнить номер вашего билета и любую другую информацию. В каталоге .git / hooks / должен быть pre-commit-msg.sample, сообщающий вам, какие аргументы получит скрипт, если вам понадобится что-то еще.

5
ответ дан 27 November 2019 в 21:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: