Я решил, что мне пора начать использовать Git в PHP-проекте, который я случайно разрабатывал более десяти лет. (Пожалуйста, никаких лекций от полиции контроля версий!) Из-за сложной настройки, необходимой на моем VPS для выполнения всего, что нужно проекту (особенно структура с одной кодовой базой и несколькими клиентами и установка TeX с поддержкой японского языка для создания специальных PDF-файлов). ), невозможно настроить среду разработки на моем локальном компьютере с Windows. Но у меня есть тестовая зона на сервере, где я могу играть, так что это моя область разработки. В настоящее время я использую Filezilla для доступа к серверу и открываю файлы непосредственно в Notepad++, и когда я готов увидеть свое редактирование в действии, я просто сохраняю и позволяю Filezilla загрузить. Когда на тестовом стенде все выглядит хорошо, я копирую файлы в зону рабочей кодовой базы. Да, это не дает мне никакой истории моих изменений, кроме моих собственных комментариев, и я должен быть осторожен, чтобы не смешивать исправления ошибок с недоработанными новыми функциями. Я вижу ценность веток Git для различных текущих обновлений.
Вчера у меня промокли пальцы на ногах. Сначала я создал учетную запись Github, а затем (по рекомендации учебника) установил Git для Windows (с собственным Bash и крошечным графическим интерфейсом) и Kdiff3 и выполнил некоторые инструкции по настройке Git Bash. Однако после всего этого мне пришлось установить что-то еще, чтобы взаимодействовать с моей учетной записью Github (соответственно названной Github для Windows), которая, похоже, делает все то, что две другие программы должны были делать для меня. Во всяком случае, затем я сделал простую задачу в качестве своего первого набега на мир Github - я добавил функциональность в чужой плагин jQuery и хотел поделиться ею с разработчиком, поэтому я разветвил его репозиторий, клонировал его на свой компьютер, перезаписал файл, который я ранее отредактировал и протестировал, синхронизировал с моей учетной записью Github и отправил запрос на извлечение. Вся терминология в этом последнем предложении была для меня совершенно новой, поэтому я был очень горд собой, что продвинулся так далеко. ;) Но я думаю, что мне нужно было только программное обеспечение Github, а не программное обеспечение Git - трудно понять, каким учебникам верить.
В любом случае, теперь я хочу выяснить рабочий процесс для своих вещей, и это мой актуальный вопрос к вам, ребята. Из того, что я могу сказать, мастер-репозиторий где угодно, кроме общедоступного Github, стоит денег, и мне все равно, увидят ли другие мой код (я не ожидаю, что кто-то еще будет работать над моим странным проектом, состоящим из спагетти-кода, но если они хотят, это здорово). Хорошо, но что потом? Возможно, один из этих сценариев или что-то еще:
Клонировать ветки репозитория на мой компьютер, вносить изменения в локальные файлы и загружать их в Filezilla для тестирования (на пару кликов больше, чем мой текущий рабочий процесс, потому что Filezilla автоматически не видит связь между локальным файлом и удаленным файлом, но ничего страшного). Затем, когда я доволен кодом, зафиксируйте локально, синхронизируйте с Github и скопируйте файлы (откуда-то — не уверен на этот счет) в рабочую область.
Установите версию Git для Linux на моем VPS, чтобы «локальное» расположение файла Git было испытательным стендом, и используйте Git через PuTTY для выполнения локальных коммитов. Проще для файловой структуры (копия на моем ПК вообще не нужна), но более громоздко использовать Git:
- I'm not on PuTTY very frequently, and for some reason the connection often dies on me and I have to restart.
- Несмотря на то, что командная строка Linux является родной средой обитания Git, мне, вероятно, удобнее работать с графическим интерфейсом (потому что я быстро забываю синтаксис команд — думаю, старый мозг).
Кроме того, поскольку я никогда не использовал программу Git, которую я установил здесь, я не уверен, буду ли я использовать Git или Github на сервере.
Какой-то другой сценарий, поскольку ни № 1, ни № 2 вообще не используют Git/Github для управления областью производственных файлов, что, вероятно, было бы хорошей идеей, чтобы я не забыл скопировать все, что мне нужно.
Я попытался изучить возможность использования графического интерфейса на основе PHP для реализации идеи № 2 (чтобы мне не приходилось использовать PuTTY для повседневных операций), но, похоже, все обсуждения таких инструментов предполагают, что либо вы пытаетесь создать свой собственный сервис Github или что «локальный» клонированный репозиторий физически находится на вашем локальном ПК (с xAMP, работающим на любой ОС). Но, может быть, программного обеспечения Github, которое я использовал, достаточно для всего этого — трудно сказать. Я еще не понимаю взаимодействие между основным общедоступным репозиторием на Github, где-то ветками (также на Github?), по крайней мере, двумя наборами файлов на моем веб-сервере (испытательная и рабочая зона), программным обеспечением Github, программным обеспечением Git, и клавиатура/экран компьютера, за которым я сижу.
Так что простите меня за бессвязность новичка, но если у кого-то есть похожая ситуация с разработкой, каков ваш рабочий процесс? Или что бы вы мне предложили?