2013-09-24 5 views
3

Я программировал на некоторое время сейчас и создал небольшое приложение, которое теперь размещено на выделенном сервере.git hub и процессы кодирования

Теперь я развертывал различные версии своего приложения, не имея реального понимания того, как правильно управлять процессом.

Это правильный способ управления сборкой приложения при использовании продукта, такого как git hub?

  1. Загрузить все мое приложение на github.
  2. Каждый раз, когда я над ним работаю, загрузите его и установите на моем dev-сервере.
  3. Когда я сделал работу над ним, и кажется, что все в порядке, я затем загружаю измененные файлы с текущим проектом, над которым я работаю, или я должен обновить всю партию, или я хочу создать новую версию проект?
  4. после того, как все мои изменения будут обновлены, все равно нужно нажать их на производственный компьютер из git-хаба или создать список недавно измененных файлов, чтобы я мог легко обновить производственную машину с помощью контрольного списка?

У моего приложения около 900 файлов, связанных с ним, и хранится в различных структурах папок и является серверным приложением (точнее, холодным потоком), и поскольку я работаю отдельно большую часть времени, я пытаюсь понять, как управлять разработкой приложения ...

Я также не знаю, как использовать командную строку, а мой настольный компьютер - это макрос, с виртуальной машиной, на которой работают все мои требуемые серверные приложения (сервер Windows 2012, MSSQL 2012 и т. д.)

Я действительно хочу удостовериться, что смогу поддерживать порядок моего процесса, но ive изо всех сил пыталась понять, как управлять развитием приложений на стороне сервера, когда я m, используя mac, мой dev-машина - это машина для Windows, которую я чувствую, как будто я застрял посередине.

ответ

7

Вы делаете звук более сложным, чем есть.

Загрузить все мое приложение на github.

Ну, это на самом деле 2 шага: во-первых, создать локальный Git репо (git init), а затем толкать вверх репо на GitHub.

Каждый раз, когда я над ним работаю, загрузите его и установите на моем dev-сервере.

Ну, вам нужно всего лишь «загрузить» его один раз в новый dev-блок. После этого просто git pull (или git fetch в зависимости от рабочего процесса), что гарантирует, что любые изменения на сервере будут сняты. Только дельта отправляются.

Git is версия системы управления. Это означает, что у каждого git repo есть полная история всего проекта. Поэтому нужно отправлять только дельт. (Это действительно помогает, когда несколько человек взламывают проект).

Когда я сделал работу над этим, и кажется, что все в порядке, я затем загружаю измененные файлы в текущий проект, над которым я работаю, или я должен обновить всю лот, или я хочу создать новая версия проекта?

Хм, вы используете здесь нечеткую терминологию. Когда вы закончите редактирование, вы сначала совершаете локальное (git add ...; git commit), затем вы нажимаете изменения в github (git push). Отправляются только дельта. Каждая фиксация является «новой версией», если вы косоглазите.

Позже, если вы хотите подумать о терминах «программных выпусков» (то есть, выпустив «версию 1.1» после многих коммитов), вы можете использовать теги git. Но не беспокойтесь об этом сразу.

когда все мои изменения будут обновлены, есть в любом случае подталкивание их к производственной машине от мерзавца концентратора или

генерируя список недавно измененные файлы, так что я могу обновить производственную машину легко с контрольным перечнем какой-то ?

Никогда не ругайте вручную с файлами вручную на своем сервере. Серверу ТОЛЬКО разрешается запускать действительную, проверенную версию вашего программного обеспечения. Если на вашем рабочем сервере запущены случайные биты кода, никто не сможет воспроизвести проблемы, потому что они не находятся в системе контроля версий.

Простой способ развертывания - сделать git clone на вашем сервере (один раз), затем git pull, чтобы обновить код. Таким образом, вы нажимаете изменения на github, а затем перетаскиваете изменения с вашего сервера.

Более продвинутым, вы хотите что-то вроде Capistrano, который будет управлять извлечениями для вас, и разбить «проверить» от «развертывания» для обеспечения более легкого отката и т.д. Там может быть окно конкретными способами делая это тоже. (Извините, я парень Linux.)

+0

Большое вам спасибо за ответ, это заставило меня понять его еще больше. за это большое спасибо. – user125264

Смежные вопросы