Nobi Опубликовано 2 октября, 2021 Поделиться Опубликовано 2 октября, 2021 В этой теме я постараюсь в картинках показать следующее Для пользователейРегистрация на GitHubНастройка уведомленийРабота с issuesОписание элементов интерфейсаДля разработчиковСоздаем и удаляем fork(копию) проектаРедактируем файлы через веб интерфейс GitHubaДелаем pull request(запрос на внесение изменений)Устанавливаем Git for Windows Portable и TortoiseGitДелаем git cloneДелаем первый git commitДелаем первый git pushУдаляем коммитыНу вроде все закончил, рекомендую добавить на гитхабе в закладки вот эти репозитории https://github.com/phobos2077/sfall https://github.com/FakelsHub/sFall-Extended https://github.com/BGforgeNet/zax https://github.com/BGforgeNet/Fallout2_Unofficial_Patch https://github.com/BGforgeNet/Fallout2_Restoration_Project https://github.com/rotators/Fo1in2 https://github.com/cvet/fonline 5 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 2 октября, 2021 Автор Поделиться Опубликовано 2 октября, 2021 Регистрация на GitHub Открываем https://github.com/ и жмем Sign up для регистрации Вписываем наше мыло, пароль, юсернейм/ник/логин и прожимаем Continue. Потом он нас спросит, хотим ли мы получать всякую рассылку на почту? пишем в ответ n Тут у нас капча, нажимаем Проверить и выбираем правильные варианты Нажимаем Create account и у нас появится поле для ввода кода В новой вкладке браузера открываем нашу почту и ручками вводим код в поле. Если возникли проблемы с вводом кода, то воспользуйтесь ссылкой из письма. После подтверждения регистрации, гитхаб предложит сделать персонализацию, но мы этого делать не будем и нажмем Skip personalization Все, регистрация окончена и у нас открывается наш дашбоард, в котором мы будем видеть информацию по отслеживаемым проектам 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Mr.Sталин Опубликовано 2 октября, 2021 Поделиться Опубликовано 2 октября, 2021 А оно тут надо pull request / push pull ?"TortoiseGit" требует "Git for Windows" (portable)Может просто сслыки дать на уже готовое? 0 Цитата Ссылка на комментарий
Nobi Опубликовано 2 октября, 2021 Автор Поделиться Опубликовано 2 октября, 2021 Настройка уведомлений Если мы нехотим чтобы наш почтовый ящик засрало уведомлениями, то идем в Настройки Переходим к Уведомлениям Выставляем галки как на скриншотах 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 2 октября, 2021 Автор Поделиться Опубликовано 2 октября, 2021 Работа с issues Переходим на странице проекта в issues и нажимаем New issue Перед нами появится список заготовленных шаблонов для оформления нашей темы/багрепорта, просто читаем описания и выбираем подходящий. Шаблонов может и не быть у проекта и вам придется самим как-то оформлять. После выбора шаблона, перед нами появилось окно со строками из шаблона. Далее мы заполняем все что от нас просят и прикрепляем файлы кликая в обведенное место. Заполнять желательно на Английском языке, но если тема крайне сложная и с большим объемом текста, то можно и на родном языке писать. Если будете вставлять ссылки на сторонние сайты содержащие пиратский контент, то вставляйте ссылку как кусок кода между двух грависов `h t t p s://rutracker.org/` Нажимаем Preview для проверки нашей деятельности и если все устраивает нажимаем Submit new issue. Периодически проверяйте свою тему/багрепорт, у разработчиков могут быть вопросы к вам. 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 3 октября, 2021 Автор Поделиться Опубликовано 3 октября, 2021 Описание элементов интерфейса Страница проекта, состоит из имя_владельца/название_репозиторияОткуда был форкнут(скопирован) проект, состоит из имя_владельца/название_репозиторияКлик на Watch открывает настройки отслеживания проекта, клик на значение показывает тех кто отслеживает проектКлик на Star добавляет проект в закладки на случай если вы планируете сюда еще вернуться, клик на значение показывает тех кто добавил себе в закладкиКлик на Fork создает копию проекта с вашим именем и полными правами доступа, клик на значение показывает дерево форков в котором вы можете понять кто и у кого скопировалВкладка Code отображает ветки, теги, файлы, коммиты, описание проектаВкладка Issues отображает минифорум на котором постятся багрепорты, предложения по улучшению и задаются вопросы разработчикам. Иногда разработчики используют Issues как систему тикетов и планов на будущее в разработке.Вкладка Pull requests отображает запросы на внесение изменений в проект и сами измененияВкладка Discussions отображает полноценный форум, но он нигде практически не используется, так как всем хватает IssuesВкладка Actions отображает магию с запуском виртуалок в которых автоматически происходит тестирование, компиляция и сборка проектаВкладка Projects отображает тикеты и планы по разработке, но обычно для подобных целей используют IssuesВкладка Wiki отображает документацию к проекту, при условии что разрабы не забили болт на это делоВкладка Security отображает политики безопасности для проекта, также там происходит анализ, поиск опасных кусков кода и дырявых зависимостейВкладка Insights отображает графики, статистику, деревья форков и зависимостейВкладка Settings отображает настройки проекта, права доступа, смену владельца и удаление проектаbranches это ветки проекта, обычно основной и стабильный код содержится в ветке master или main, а эксперементальный код в dev, develop, experimental. Бывает что и по другому эти ветки используют.tags обычно используются для обозначения версии при публикации новых релизов, но если очень хочется то можно отмечать ими интересные коммиты(изменения?)about краткое описание проекта, может содержать в себе "топики" для поиска схожих проектовВ этом блоке мы можем увидеть количество коммитов(изменений?) которое отличает наш форк(копию) от апстрима(оригинала). Через Сontribute мы можем сделать Pull request(запрос на внесение изменений) и отправить наши коммиты(изменения?) в апстрим(оригинал) или в другой бранч(ветку). Через Fetch upstream мы можем перенести коммиты(изменения?) из апстрима(оригинала) в наш форк(копию)В этом блоке мы видим пользователя сделавшего последний коммит в проект, кликабельный заголовок коммита, правее идет кусок хеша коммита и датаcommits при клике отобразит коммиты для данного баранча(ветки) проекта с момента его созданияКаталоги и файлы проекта. Два основных файла у проекта это LICENSE.md и README.md, расширение .md означает разметку markdown. Шаблоны для Issues и конфиги для Actions находятся в каталоге .github 1 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 4 октября, 2021 Автор Поделиться Опубликовано 4 октября, 2021 Создаем и удаляем fork(копию) проекта На странице проекта с которым мы планируем работать, нажимаем Fork Ждем несколько секунд Все, мы сделали fork(копию) проекта и можем вносить в него изменения. Обратите внимание что у нашей копии отсутствует вкладка Issues Для удаления нашего forka(копии) переходите на вкладку Settings, отматывайте страницу в самый низ и нажимайте Delete this repository Скопируйте в поле имя_владельца/название_репозитория и подтвердите что хотите удалить репозиторий 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 4 октября, 2021 Автор Поделиться Опубликовано 4 октября, 2021 Редактируем файлы через веб интерфейс GitHuba Находим в каталогах нашего форка файл/скрипт который хотим отредактировать и нажимаем на значек карандашика Вносим правки и проверяем результат в Preview changes. Если нас все устраивает, то заполняем заголовок и описание Commit changes на Английском, можно еще добавить ссылку на тему в Issues. После того как закончили редактировать и оформлять, нажимаем Commit changes Если мы в коммит вставили ссылку на тему в Issues, то там появится вот такое упоминание 1 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 5 октября, 2021 Автор Поделиться Опубликовано 5 октября, 2021 Делаем pull request(запрос на внесение изменений) После того как мы наделали правок в нашем форке и считаем что решили одну проблему или баг, нажимаем Contribute и Open pull request Перед нами Comparing changes, мы можем выбрать направление пуллреквеста в Base Repository из Head Repository, стрелочка между ними подсказывает направление. Оставляем все как есть и убеждаемся что появилась надпись Able to merge. These branches can be automatically merged. которая означает что никаких проблем не должно возникнуть. Нажимаем Create pull request Видим форму Open pull request в которую вставился текст из нашего коммита. Если тема в Issues отсутствует для даных правок, то прикрепите сейвы чтобы можно было проверить результат до и после. Нажимаем Create pull request. Ваши правки могут отклонить по разным причинам, но основная причина это небольшие проблемы с тем что правки надо делать в два репозитория UPU и RPU Если мы в пуллреквест вставили ссылку на тему в Issues, то там появится вот такое упоминание. Рекомендую вставлять ссылку только в пуллреквест, так вы не засорите тему упоминанием коммитов из вашего временного форка. 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 5 октября, 2021 Автор Поделиться Опубликовано 5 октября, 2021 Устанавливаем Git for Windows Portable и TortoiseGit Скачиваем 64-bit Git for Windows Portable https://git-scm.com/download/win и запускаем установщик от админа Проверяем путь установки и нажимаем ОК Скачиваем 64-bit TortoiseGit https://tortoisegit.org/download/ запускаем установщик и жмем Next Жмем Next Жмем Next Жмем Install Жмем Finish Жмем Далее Жмем Далее Проверяем путь к Git\bin, жмем Check now и жмем Далее Ставим чекбокс на Don't store these settings now и жмем Далее Жмем Готово и советую перезагрузить компьютер 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Mr.Sталин Опубликовано 5 октября, 2021 Поделиться Опубликовано 5 октября, 2021 (пост можно удалить чтоб не мешался.) 0 Цитата Ссылка на комментарий
Nobi Опубликовано 5 октября, 2021 Автор Поделиться Опубликовано 5 октября, 2021 настолько банальные вещи, что тошно смотреть, особенно вот про установку)).Ну а что поделаешь, я уже давал небанальный гайд кое-кому и это не дало результатов. Про git portable от тебя узнал, а изначально хотел про тот хитровыебнутый инсталлятор делать гайд. Небанальные вещи будут после вопросов в этой теме 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 6 октября, 2021 Автор Поделиться Опубликовано 6 октября, 2021 Делаем git cloneНа странице нашего форка жмем кнопку Code и копируем https ссылкуВ отдельном каталоге открываем контекстное меню правой кнопкой мыши и нажимаем Git CloneПроверяем что ссылка из буфера обмена вставилась в URL поле открывшегося окна и нам предложили подходящий каталог, после чего нажимаем ОКЖдем когда все скачаетсяПри успешном завершении закачки, мы увидем чтото вот такое 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 6 октября, 2021 Автор Поделиться Опубликовано 6 октября, 2021 Делаем первый git commit После правок файлов в нашей локальной копии проекта, открываем контекстное меню правой кнопкой мыши у каталога и нажимаем Git Commit И внезапно TortoiseGit ругается сообщая нам что надо прописать username и email, так как они являются частью коммитов. Просто нажимаем Да Тут нам рассказывают про локальные(для репозитория), глобальные(для пользователя) и системные(для всех пользователей) конфиги. Просто нажимаем ОК Вписываем наш GitHubовский username и email, а потом прожимаем Применить и ОК. Тут вы можете заметить те самые Local, Global, System. Советую использовать Global, так вам не придется повторно прописывать username и email при работе с другими репозиториями Заполняем заголовок и описание коммита на Английском и нажимаем Commit Жмем Close 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 7 октября, 2021 Автор Поделиться Опубликовано 7 октября, 2021 Делаем первый git pushПосле того как наделали коммитов, открываем контекстное меню в каталоге проекта и нажимаем PushТут оставляем все как есть и нажимаем ОКНо тут вместо отправки наших коммитов на GitHub, нас просят авторизоваться. Выбираем manager-coreЖмем Sign in with your browserЖмем AuthorizeПодтверждаем введением пароляЗакрываем вкладку после успешной авторризацииНашм коммиты отправились на GitHub, нажимаем CloseМожем сходить на GitHub и проверить результат 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 7 октября, 2021 Автор Поделиться Опубликовано 7 октября, 2021 Удаляем коммиты Последовательное удаление коммитов с конца(рекомендуемый вариант) Например у нас вот такая ситуация и мы хотим удалить два последних коммита(пятый и четвертый) Для начала сделаем git pull и выкачаем все изменения с GitHubа Оставляем все как есть и нажимаем ОК Все удачно скачалось, нажимаем Close Нажимаем Show log Открываем контекстное меню у третьего коммита и выбираем Reset "master" to this Выбираем Hard вариант и нажимаем ОК Процесс успешно завершился, нажимаем Close В логе произошло вот такое Делаем git push и в настройках ставим чекбокс known changes Идем на GitHub и проверяем результат Удаление отдельного коммита(не рекомендуемый вариант) К примеру мы хотим удалить второй коммит, открываем Show log и в контекстном меню первого коммита выбираем Rebase "master" onto this Ставим чекбокс Force Rebase, в контекстном меню второго коммита выставляем Skip и нажимаем Start Rebase Нажимаем Done В логе видим вот такое Делаем git push и в настройках ставим чекбокс known changes Идем на GitHub и проверяем результат 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Nobi Опубликовано 7 октября, 2021 Автор Поделиться Опубликовано 7 октября, 2021 @Foxx, @Pyran, Вас этот гайд устраивает? 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Mr.Sталин Опубликовано 7 октября, 2021 Поделиться Опубликовано 7 октября, 2021 RebaseУдаляется содержимое коммита, или там оно сливается? Вас этот гайд устраиваетмне по барабануно слишком много постов можно было в несколь засунуть несколько. 0 Цитата Ссылка на комментарий
Nobi Опубликовано 7 октября, 2021 Автор Поделиться Опубликовано 7 октября, 2021 Удаляется содержимое коммитаУдаляется, конфликты гарантированны если последующие коммиты правят тоже самое место, но в процессе Rebase их можно устранить. Возможно есть другие способы удалять отдельные коммиты, но я не знаток. В твоем случае скорей всего надо чтото вот такое использовать 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Mr.Sталин Опубликовано 2 декабря, 2021 Поделиться Опубликовано 2 декабря, 2021 Расскажи как использовать суб-модули.На примере https://github.com/nadult/FreeFT с папкой libfwk @ 3f48ce2Пытался понят зачем это нужно... Или это слишком сложно. 0 Цитата Ссылка на комментарий
Farvel Опубликовано 2 декабря, 2021 Поделиться Опубликовано 2 декабря, 2021 Ну если в общих чертах - когда у тебя есть несколько проектов и какой-то дополнительный проект, общий для всех, либа с утилитами например (в твоем примере - это сборник графических утилит для OpenGl и классов совместимости с разными операционками). И сабмодуль позволяет тебе добавить этот проект как зависимость в твои главные, а не копировать один и тот же код. Смысл в том, что ты можешь менять сабмодуль независимо от главного проекта, т.к. он по факту просто ссылка. Ну и получается, что главный проект и утилитный живут своими отдельными жизнями. Если ты решил апдейтнуть утилиты - меняешь только их, иначе, если бы ты копировал их в каждый проект - пришлось бы апдейты накатывать в каждый копипастой. Второй случай - ты нашел проект некого Васи, в котором он сделал клевые штуки, которые ты бы мог использовать в своем. И аналогично, вместо прямой копипасты его репы в свою ты можешь его добавить сабмодулем.Короче, это что-то вроде выделения общего функционала в отдельный репозиторий и добавление ссылки на него. Сделать это просто - добавляешь конфиг .gitmodules в корень и туда добавляешь ссылку на другую репу. https://github.com/nadult/FreeFT/blob/main/.gitmodules "path" - это папка в твоем репозитории, в которую он добавится при скачке, "url" - ссылка на репозиторий для сабмодуля.По умолчанию после клонирования репозитория папки с сабмодулями будут пустыми - их надо "дозакачивать" отдельными коммандами - "git submodule init""git submodule update" Также можно сделать клонирование с флагом "--recurse-submodules". В этом случае все сабмодули закачаются сразу, включая сабмодули сабмодулей, если такие будут."git clone --recurse-submodules https://github.com/myRepo/bla_bla_bla" Работать с сабмодулями можно изнутри главного проекта, но это уже тема для более сложных проектов и для дальнейших конкретных вопросов. P.s. - Если у тебя нет ничего общего для всех твоих проектов - не заморачивайся, если можно что-то вынести - лучше сделать 0 Цитата Ссылка на комментарий
Mr.Sталин Опубликовано 3 декабря, 2021 Поделиться Опубликовано 3 декабря, 2021 Общее есть.И приходилось для двух зависимых проектов делать свои комитты.Хотелось бы одним.С Субмодулем это возможно? Ато из твоего описания ничего не понятно, или нужно видео пояснения для особо тупых. :-) 0 Цитата Ссылка на комментарий
Farvel Опубликовано 3 декабря, 2021 Поделиться Опубликовано 3 декабря, 2021 Да можно. Есть 2 варианта. Возьмем для примера такую ситуацию - у тебя 2 проекта (основные репозитории) и 3-й проект как сабмодуль у них (репозиторий с общим кодом\файлами). Вариант 1 - коммит в репозиторий сабмодуля. После этого в проектах основных надо делать git submodule update, чтобы изменения сабмодуля подтянулись.Вариант 2 - коммитаешь апдейт сабмодуля изнутри основного проекта. В этом случае во 2-м проекте придется так же делать submodule update, когда будешь в нем работать. Этот вариант требует некоторой дополнительной конфигурации сабмодуля и некоторых доп действий на коммите. Если в проектах не ракетостроение, то я бы рекомендовал остановиться на 1-м варианте. Если надо действительно работать с сабмодулем в основном проекте - могу расписать, как это сделать 0 Цитата Ссылка на комментарий
Nobi Опубликовано 3 декабря, 2021 Автор Поделиться Опубликовано 3 декабря, 2021 Про сабмодули ничего рассказать не могу, много видел но никогда не вдавался в детали и воспринимал их как симлинки. @Farvel, вроде доходчиво все объяснил. Вообще знакомство с такими штуками надо начинать с симлинков, хардлинков, рефлинков 0 Цитата HQ/UHQ music for Fallout CrashMonitor v2.16 РУ комьюнити Fallout конечные скоты. Ссылка на комментарий
Mr.Sталин Опубликовано 11 января, 2022 Поделиться Опубликовано 11 января, 2022 Руссо-туристо или импортозамещение, пора потихоньку выпиливаться от сраного дяди била)https://gitflic.ru/пока сыро-сыро, и не понятно не загнулось ли там развитие (отключили публичные репы). 0 Цитата Ссылка на комментарий
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.