Архив автора: admin

Git, краткая теория

Введение

Git (произн. «гит») — это распределённая система управления версиями файлов. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года.

Git позволяет вести распределённую работу над одним проектом. Разработчики могут располагаться как на одном компьютере, так и в разных частях света.

Помимо Git есть много других систем управления версиями (VCS, Version Control System), одной из которых является свободная (и бесплатная) система Subversion (кратко SVN).

Subversion (также известная как «SVN») — свободная централизованная система управления версиями, официально выпущенная в 2004 году компанией CollabNet Inc.

Обо всём этом можно подробно прочитать в других источниках. Здесь же я опишу своё краткое представление о Git, которое у меня сложилось при работе с ним. Описание не претендует на полное и всеобъемлющее.

Описание будет в виде коротких тезисов и абзацев

Хотя местами указаны названия команд, они не будут выполняться, т.к. некоторые параметры для них опущены. Конкретные примеры применения команд git будут рассмотрены в следующей статье.

Git, описание

Общее

Git — это распределённая система управления версиями.

С git можно работать и локально и удалённо.

Репозиторий (хранилище) — это место, где хранится наши данные: история изменений нашего проекта

Репозиторий Git — это всегда локальный репозиторий

Данные репозитория git помещается в папку .git/ в папке, в которой вы создали репозиторий

Любую папку на компьютере можно легко превратить в папку с локальным репозиторием, выполнив всего одну команду git init внутри выбранной папки для репозитория

О репозитории

В Git, в отличии от Subversion, есть два типа репозитория: «простой» и «голый»

Простой репозиторий — это основной репозиторий, с которым вам предстоит работать. В нём вы можете выполнять большинство команд git. Такой репозиторий содержит подпапку .git/

Голый репозиторий — этот репозиторий часто, применяемый для ведения разработки в централизованном стиле. Данные репозитория не помещаются в подпапку .git/, а размещаются непосредственно в корне папки репозитория

Настройки репозитория

Используйте команду git config для работы с настройками, или редактируйте файлы настроек вручную

Каждый репозиторий Git имеет свои собственные настройки, располагаемые в файле .git/config

Вообще настройки репозиториев Git соответствуют общей архитектуре настроек в Linux. А именно, это означает, что настройки разделены на три уровня:

  • Уровень 1. Локальные настройки репозитория, применяются только к одному конкретному репозиторию, располагаются в каждом отдельном репозитории в файле .git/config
  • Уровень 2. Пользовательские настройки репозитория, применяются ко всем репозиториям пользователя, и располагаются в домашней директории пользователя в файле ~/.gitconfig (Для Windows путь к домашней директории вы можете явно указать в переменной окружения HOME)
  • Уровень 3. Системные настройки, применяются ко всем репозиториям всех пользователей системы, располагаются обычно в файле /etc/gitconfig (для Windows это может быть файл «c:Program Files (x86)Gitetcgitconfig»)

Приоритетным уровнем является первый, поэтому в нём могут быть переопределены все настройки, которые были установлены с верхних уровней.

Отношения между репозиториями

Репозиторий Git — это всегда локальный репозиторий, располагающийся в своей папке

Для репозитория есть понятие «наблюдать за другим репозиторием» (это понятие я придумал сам), на практике выражается использованием команд git remote в консоли и секций [remote «имя_наблюдения»] в файле конфигураций репозитория

Один репозиторий может:

  • не наблюдать ни за кем
  • или наблюдать за любым кол-вом репозиториев

Репозиторий A может загрузить полное (или частичное) содержимое репозитория B, даже если A «не наблюдает» за B, и даже если A не имеет общей истории с B.

«Загрузить» (git fetch) внешний репозиторий и «слиться» (git merge) с репозиторием — разные вещи! Мы всегда можем загрузить содержимое внешнего репозитория, посмотреть его историю изменений, но не прибегать к слиянию с ним.

Допустим, в репозитории A вы создали наблюдение с именем seeB за репозиторием B (git remote add seeB path/to/B). Но важно помнить, что «наблюдение» не обновляется автоматически. Это значит, что спустя время, git не сообщит вам об изменениях в репозитории B. Узнавать об этом вам необходимо самим — просто загрузив свежую версию репозитория B командой git fetch seeB. «Наблюдение» — это не какая-то система слежения, а просто копия репозитория B в одной из падпапок .git/ репозитория A.

Одиночная работа

Создав репозиторий, в него можно фиксировать изменения (git commit), просматривать логи изменений (git log), загружать указанную или последнюю версию фиксации (git checkout)

Одиночная работа с репозиторием сводится к тому, что вы делаете некоторые изменения в файлах и фиксируете их (подробнее об этом написано в статье «Название статьи»)

Распределённая работа

Командная работа над проектом (репозиторием) начинается тогда, когда кто-то клонирует его.

Клонировать репозиторий — значит скопировать весь репозиторий полностью: вместе со всей его историей изменений.

Один репозиторий может быть клонирован любым кол-вом людей.

Чтобы слить два репозитория в будущем, их не обязательно клонировать изначально, но клонировать удобнее, т.к. автоматически добавляется информация о «наблюдении за оригинальным репозиторием» в настройках клона.

Когда разработчик 2 внёс изменения в склонированный ранее репозиторий, он сообщает об этом разработчику 1. И тот «забирает» его изменения от себя используя команду git pull (или две последовательные команды git fetch и git merge). После этого разработчик 1 сообщает разработчику 2, что он принял изменения, после этого 2-й разработчик обновляет свой склонированный репозиторий командой git pull, и продолжает разработку.

Разработчик 2 не смог бы «втолкнуть» (git push) свои изменения в репозиторий разработчика 1, т.к. по умолчанию это запрещено (для больших подробностей смотрите опцию receive.denyCurrentBranch настроек репозитория)

Втолкнуть изменения из репозитория B в репозиторий A, без его ведома A можно в том случае, если репозиторий A является «голым» (т.е. создан командой git init —bare).

Распределённая структура разработки

Есть группа разработчиков. Каждый имеет свой собственный «простой» (git init) репозиторий. У каждого настроены «наблюдения» за репозиториями соседей. Каждый разработчик сам загружает к себе чужие изменений. Никто из разработчиков не может ни кому «втолкнуть» свои изменения.

Централизованная структура разработки

Существует центральный «голый» (git init —bare) репозиторий. Все остальные разработчики отклонировались от центрального репозитория. Каждый разработчик сначала вносит изменения в свой локальный репозиторий-клон, а потом «вталкивает» (git push) свои изменения в центральный сервер.

Ветви в репозитории

Используйте команду git branch, чтобы просмотреть список существующих веток в репозитории и узнать какая ветка сейчас выбрана активной

Используйте
команду git branch -r, чтобы просмотреть список веток в существующих «наблюдениях» репозитория

Ветка в репозитории — это альтернативный путь развития проекта

Репозиторий может содержать любое кол-во веток

При создании веток не происходит физического копирования файлов хранилища. Поэтому даже создав много веток, это не отразится сильно на размере репозитория

Две ветви одного репозитория могут быть слиты в одну ветку (git merge)

Создать новую ветку можно двумя способами:

  • создать явно командой git branch имя_ветки
  • или неявно: откотиться назад до любой фиксации, внести изменения и зафиксировать эти новые изменения.

Git защитит вас, если вы попытаетесь удалить ветку (git branch -d имя_ветви), изменения которой вы ещё не сливали в главной ветвь. Но если вы всё же хотите удалить ветвь без слияния с основной ветвью, используйте команду git branch -D имя_ветви

Общие понятия в репозитории

Репозиторий имеет несколько важных понятий, о которых важно знать, чтобы поняь принцип работы с репозиторием.

Working tree — рабочая папка «простого» репозитория, место, где хранятся файлы вашего проекта (папка .git не относится к этой области)

Index (staging area) — незримая область, в которой хранятся отметки о файлах, изменения в которых вы собираетесь зафиксировать

Local repo — ваш локальный репозиторий.

Remote repo — это удалённый репозиторий, который может находиться как в другой папке на вашем компьютере, так и на другой машине в сети.

Таким образом процесс работы с репозиторием сводится к следующей простой схеме:

  1. вы вносите изменения в working directory
  2. добавляете желаемые изменения в область staging area
  3. фиксируете изменения в репозиторий local repo

Также есть ещё несколько понятий, значение которых я ещё не уловил до конца:

  • HEAD — ссылка на текущее состояние репозитория
  • FETCH_HEAD — ссылка на состояние репозитория, загруженное в эту ссылку командой git fetch или git pull

Заключение

Более подробно о работе git я расскажу в следующей статье. Данная статья служит лишь общим каркасом для понимания общих идей и принципов работы git. Всё, о чём говорилось здесь, мы рассмотрим в следующей статье на примерах

Читать далее: Git, краткий справочник команд

Смотрите также:

Автор: galiego710

Git, установка

Git (произн. «гит») — распределённая система управления версиями файлов. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года.
В этой статье я кратко опишу как устанавливать git.

Если вы работаете в Windows, то взять git для установки можно по этой ссылке: Git-1.7.8-previewXXXXXXXX.exe.
Желающие также могут установить графический клиент TortoiseGit для работы с git, но все наши примеры будут для командной строки.

Установка Git в Windows

Запускаем Git-1.7.8-previewXXXXXXXX.exe, оставляем всё по умолчанию, дожидаемся завершения работы установщика. После инсталляции, вы можете запустить консоль для работы с git:

"ПускПрограммыGitGit bash"

Быстрый запуск консоли для git

Конечно, запускать консоль мышью через меню каждый раз — дело утомительное. Поэтому предлагаю немного оптимизировать этот процесс.
1. На основном диске создайте папку

C:bin

2. Создайте файл C:bingitbash.bat со следующим содержимым:

@%WINDIR%system32cmd.exe /c ""C:Program Files (x86)Gitbinsh.exe" --login -i"

Обратите внимание, что путь «»C:Program Files (x86)Gitbinsh.exe» у вас может быть другим. Всю эту строчку я взял из поля «Объект» свойства ярлыка «ПускПрограммыGitGit bash».

3. Добавьте путь C:bin в переменную PATH среды Windows.

Свойства «Мой компьютер» вкладка «Дополнительно» кнопка «Переменные среды…» блок «Системные переменные».
Найдите в списке переменную «Path», выберите её, нажмите «Изменить». Допишите в конец значения переменной следующую строку:

;C:bin

Нажмите Ок Ок Ок

Готово! Теперь, если у вас уже была открыта командная строка, её нужно закрыть и запустить снова. Теперь из любой папки мы можем написать gitbash для запуска командной строки для работы с git.

Читать далее: Git, краткая теория

Список сайтов:
Установка и настройка git и gitosis в Ubuntu
DVCS Git и TortoiseGit в картинках. Пособие для начинающих чайников.

Смотрите также:

Автор: galiego710

Праздничный декор своими руками

В этой записи мы расскажем, как сделать праздничный декор своими руками. Тема посвящена рождественским свечам и подсвечникам. Встречаем Рождество гармонично, стильно и очень уютно!

рождественские подсвечники

рождественские подсвечники

Читать

ангел своими руками на Рождество

Ангел своими руками на Рождество

Любителям всего эксклюзивного предлагаем сделать очередную красивую рождественскую поделку. Это будет ангел своими руками на Рождество в стеклянном шаре.

ангел своими руками на Рождество

ангел своими руками на Рождество

Читать

Кредиты наличными в Банке Донецка: почему нельзя идти к брокерам и как самому обеспечить 100% положительное решение Банка.

Кредиты наличными в Банке Донецка: почему нельзя идти к брокерам и как самому обеспечить 100% положительное решение Банка.

Кредиты наличными в Банке Донецка: почему
нельзя идти к брокерам и как самому
обеспечить 100% положительное решение Банка.
================================================================================
Григорий Иванович Епископосян on 08/01/2013 07:47:00

Почему нельзя обращаться к финансовым
брокерам, которые требуют с Вас комиссию за
помощь и решение всех вопросов по получению
кредита наличными в Банках Донецка ?
Ну во первых: это лишено всякого здравого
смысла, поскольку во всех Банках широко
открыты двери и без всяких брокеров.
Во-вторых, те Банки, у которых есть своя сеть
отделений, в брокерах не нуждаются, те, у
которых нет сети, но есть желание, могут
предлагать кредиты под 40% + брокерские 10% и
кому такой кредит нужен? То, о чем говорят
брокеры по поводу решения вопросов в Банке
– откровенная ложь, Банки наоборот с
осторожностью относятся к брокерским
клиентам, поскольку не понимают зачем
нормальному заемщику отдавать кому-то еще
10% от суммы своего кредита, если есть
возможность получить кредит и без этого. В
случае с брокерскими клиентами Банк
внимательнее просматривает документы,
делает доп. проверки и т.д., чтобы не выдать
кредит по поддельным справкам, что часто
предлагают брокеры своим безработным
Клиентам. Резюмируя ответ на этот вопрос,
заявляю с полной ответственностью – без
брокеров получить кредит намного больше
шансов, чем с ними. При желании получить
кредит наличными в Банках Донецка, не
ленитесь и читайте кредитный договор в день
подачи заявки, а не в момент получения
денег. Все украинские Банки находятся под
жестким контролем НБУ. Согласно
законодательства Украины, они обязаны
предоставить Вам всю информацию по кредиту
в момент первой консультации, включая
кредитный договор и приложения к нему (по
желанию клиента). И что самое главное все
подводные камни можно увидеть в договоре
где они прописаны черным по белому,
поскольку еще раз повторюсь, Банк – это
солидная структура и ему не нужны обращения
заемщика в суд или в отдел по защите прав
потребителей, т.е. все условия
«обдирательства» Клиента четко прописаны в
договоре, который Вы за 15 минут
самостоятельно можете прочитать и
сэкономить себе кучу денег и нервов.
Что нужно, чтобы получить 100% положительный
ответ в Банке? Перед тем, как лично
обращаться в Банк и подавать документы —
соберите всю информацию о себе и своем
месте работы: Паспорт, код, справка о
доходах, юридический и фактический адрес
предприятия, рабочий стационарный номер
предприятия (желательно бухгалтерии или
отдела кадров, где могут подтвердить о Вас
информацию), собственные номера мобильного
и стационарного телефона. Если у Вас нет
собственного стационарного телефона,
найдите среди своих друзей и знакомых 2
таких номера и предупредите, чтобы они
подтвердили информацию о том, что они Вас
знают во время телефонного прозвона из
Банка. Если у Вас были или есть действующие
кредиты наличными в Банках Донецка или
кредитные карты – возьмите кредитные
договора с собой, поскольку если Вы в момент
подачи укажите достоверно всю информацию
по этим кредитам, Банк не будет Вас
отправлять в эти Банки за получением
справок о погашении или состоянии этих
кредитов (эти справки делаются по 7-10
рабочих дней и стоят 50-200 грн., поэтому это в
Ваших интересах). Во время беседы с
менеджером Банка или же во время прозвона (в
большинстве Банков реализована
необходимость доп. контроля, т.е Клиентов
дополнительно прозванивает служба
безопасности Банка или другой отдел
ответственный за выдачу кредитов)
внимательно слушайте вопросы и отвечайте
на них максимально открыто, даже если Вы
считаете, что эти вопросы не уместны и Вы не
обязаны на них отвечать. Банк дает Вам на
время свои деньги и поставьте себя на
минутку на его место и подумайте: не хотели
бы Вы узнать у совсем незнакомого человека,
который пытается одолжить у Вас
кругленькую сумму денег, где он работает, на
что потратит деньги, как планирует
отдавать, как к этому относится супруга и
т.д. Поэтому относитесь к людям также, как бы
Вы хотели, чтобы они относились к Вам и
тогда у Вас все получится.
Надеюсь, наша статья поможет Вам в выборе
кредита наличными и предостережет от
необдуманных поступков и действий.

Современные подходы к терапии внутренних болезней

Герман Юрьевич Кнорринг Канд. мед. наук, ассистент кафедры терапии и клинической фармакологии Санкт-Петербургской медицинской академии последипломного образования Несмотря на огромное разнообразие медикаментозных средств лечения заболеваний внутренних органов и широкий выбор подходов к терапии, в целом нельзя признать ситуацию в медицине, как мировой, так и российской, оптимистичной.О современных подходах к терапии внутренних болезней рассказывает канд. мед. наук, ассистент кафедры терапии и клинической фармакологии Санкт-Петербургской медицинской академии последипломного образования Герман Юрьевич КНОРРИНГ. И дело не только в недостаточной эффективности предлагаемых препаратов. Медицина идет по пути углубленного деления организма человека на составляющие, изобретая все более специфичные и селективные лекарства. Однако при этом забывается, что лечить надо не болезнь, а больного, не сосуд, сердце или предстательную железу по отдельности, а весь организм. Положение усугубляется еще и тем, что часто польза от применения ЛС значительно уступает возможным побочным эффектам и осложнениям. И самое удивительное – медики готовы мириться с этим, принимая побочные действия как неизбежное зло. Вот почему поиск и разработка препаратов, обладающих многосторонним действием на организм, с возможно меньшим количеством неблагоприятных эффектов, ведется уже многие годы. Между тем самой природой изобретены функциональные молекулы – катализаторы всех биохимических процессов – ферменты, или энзимы. Они относятся к органическим веществам весьма архаичного происхождения с ярко выраженными афферентными и/или эфферентными свойствами и находятся в центре функционирования системы гомеостаза. Нельзя не вспомнить слова выдающегося патофизиолога И.В. Давыдовского, много лет посвятившего изучению механизмов воспаления: “Управление процессами регенерации возможно только ферментативным путем”. Известно огромное функциональное многообразие ферментов, их способность к эволюционной и адаптивно-конформационной изменчивости. Возможность получения энзимов или их ингибиторов с заданными свойствами ставит ферменты на одно из первых мест при создании новых лекарственных средств. Мишенью многих современных лекарств являются ферментные системы организма. Именно эта особенность получила отражение в названиях препаратов последнего времени (ингибиторы ангиотензинпревращающего фермента, ингибиторы протонной помпы и др.). Большинство антибактериальных препаратов представляет собой не что иное, как ингибиторы или рестрикторы (ограничители) ферментных систем бактериальных клеток. Более 60 лет назад М. Вольфом и К. Рансбергером была разработана концепция системной энзимотерапии, основанная на использовании целенаправленно составленных комбинаций натуральных энзимов растительного и животного происхождения. Эти смеси, действуя кооперативно, оказывают влияние на ключевые физиологические и патофизиологические процессы в организме. Основной мишенью энзимов является воспаление – универсальная защитная реакция организма. Иммунитет, как защитная система, тоже нуждается в наличии необходимого количества активных ферментов для осуществления своих функций. Комплексность и универсальность оказываемых эффектов и объясняет широкий спектр применения и высокую эффективность препаратов системной энзимотерапии (СЭТ). Разнообразие полезных свойств (противовоспалительное, противоотечное, анальгезирующее, фибрино- и тромболитическое, иммуномодулирующее) позволяет использовать их в комплексном лечении широкого круга заболеваний. Многочисленные фундаментальные и клинические исследования показали эффективность системного воздействия энзимов при отсутствии значимых побочных эффектов. В литературе подробно освещены вопросы всасывания перорально назначаемых энзимов, изучено проникновение интактных энзимов в кровь и сохранение их специфической и неспецифической активности, взаимодействие с ингибиторами плазмы крови, фибринолитическое и иммунотропное действие. Эти и другие имеющиеся данные лежат в основе современных представлений о механизмах действия системных энзимов. Сочетание системных и местных воздействий энзимов лежит в основе ключевых комплексных клинико-фармакологических феноменов и может служить практическим обоснованием использования СЭТ в комплексной терапии самых различных болезней. Давно и хорошо изученным свойством энзимов является
способность потенцировать действие антибиотиков. Сочетание с антибиотиками оправдано потому, что энзимы повышают их биодоступность и концентрацию в очаге воспаления, одновременно снижая их токсичность. Способность препаратов системной энзимотерапии улучшать выведение токсических продуктов из организма делает обоснованным их использование в комплексной терапии совместно с антибиотиками, гормональными препаратами, противоопухолевыми средствами. Одно из исследований немецких ученых прошлого века (Barsom S. et al., 1982—1983), ставшее уже классическим, показало достоверное увеличение тканевых и плазменных концентраций всех использовавшихся в этой работе антибактериальных средств. Очевидно, что влияние энзимов, входящих в состав препаратов системной энзимотерапии, на концентрации и в конечном итоге – на клиническую эффективность различных антибактериальных препаратов следует признать неспецифическим, общим в отношении антибиотиков разных фармгрупп, что опосредовано воздействием на процессы всасывания и, возможно, транспорта антибиотиков, улучшением состояния микроциркуляторного русла в очаге воспаления, иммунотропным действием и др. Многие отечественные работы последних лет также показали повышение с помощью СЭТ эффективности терапии инфекций и связанных с ними состояний: урогенитальный хламидиоз (А.А. Хрянин, 1999, 2001), реактивные артриты (А.М. Лила и соавт., 2000), воспаление добавочных половых желез у мужчин, связанное с урогенитальными инфекциями (С.Н. Калинина, О.Л. Тиктинский и соавт., 2001—2003), постхламидийный простатит (С.А. Сельков и соавт., 2003), пиелонефрит (В.Н. Ткачук и соавт., 2000), хронический сальпингоофорит (И.Н. Расстегаева, Н.В. Стрижова, 2001), актиномикоз гениталий (А.К. Мирзабалаева, 2002), трихомониаз (А.В. Якимова и соавт., 2002), распространенные формы мочеполового хламидиоза у лиц молодого возраста (А.Л. Позняк, Ю.В. Лобзин, 2003), Лайм-боррелиоз (О.М. Лесняк, Е.Э. Лайковская, 1998). Показана перспективность применения энзимных препаратов и в других областях медицины (пульмонология, оториноларингология, офтальмология и др.). В 2003 г. зарегистрированы показания к применению СЭТ в педиатрической практике. Чрезвычайно важным моментом действия СЭТ является уменьшение степени выраженности побочных эффектов антибактериальной терапии, в т.ч. и дисбактериоза. Влияние СЭТ на иммунную систему иммунонормализующее: усиливает положительные защитные реакции и, напротив, снижает активность повреждающих аутоиммунных процессов. Действие энзимов реализуется, в частности, с помощью системы цитокинов и адгезивных молекул. Энзимы увеличивают активность Т-клеточного звена иммунитета, повышая его функциональные возможности. Многочисленные экспериментальные исследования и клинические испытания, проведенные за рубежом и в России, доказали высокую эффективность препаратов системной энзимотерапии при использовании в терапии, хирургии, гинекологии, урологии, онкологии и т.д. В системной энзимотерапии подкупает то обстоятельство, что используемые препараты натуральны, не имеют серьезных побочных эффектов, совместимы со всеми лекарственными средствами и повышают эффективность некоторых из них (например, антибиотики), не вызывают привыкания, угнетения собственных ферментов и могут применяться длительными курсами. Все это выделяет системную энзимотерапию в отдельное направление в терапии. Вместе с тем определение места СЭТ в клинике терапии требует дальнейших исследований с учетом требований современной медицины. Статья опубликована в журналеФармацевтический вестник Источник: medinfa.ru