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 Ссылка на комментарий
Nobi Опубликовано 2 октября, 2021 Автор Поделиться Опубликовано 2 октября, 2021 Регистрация на GitHub Открываем https://github.com/ и жмем Sign up для регистрации Вписываем наше мыло, пароль, юсернейм/ник/логин и прожимаем Continue. Потом он нас спросит, хотим ли мы получать всякую рассылку на почту? пишем в ответ n Тут у нас капча, нажимаем Проверить и выбираем правильные варианты Нажимаем Create account и у нас появится поле для ввода кода В новой вкладке браузера открываем нашу почту и ручками вводим код в поле. Если возникли проблемы с вводом кода, то воспользуйтесь ссылкой из письма. После подтверждения регистрации, гитхаб предложит сделать персонализацию, но мы этого делать не будем и нажмем Skip personalization Все, регистрация окончена и у нас открывается наш дашбоард, в котором мы будем видеть информацию по отслеживаемым проектам Ссылка на комментарий
Mr.Sталин Опубликовано 2 октября, 2021 Поделиться Опубликовано 2 октября, 2021 А оно тут надо pull request / push pull ?"TortoiseGit" требует "Git for Windows" (portable)Может просто сслыки дать на уже готовое? Ссылка на комментарий
Nobi Опубликовано 2 октября, 2021 Автор Поделиться Опубликовано 2 октября, 2021 Настройка уведомлений Если мы нехотим чтобы наш почтовый ящик засрало уведомлениями, то идем в Настройки Переходим к Уведомлениям Выставляем галки как на скриншотах Ссылка на комментарий
Nobi Опубликовано 2 октября, 2021 Автор Поделиться Опубликовано 2 октября, 2021 Работа с issues Переходим на странице проекта в issues и нажимаем New issue Перед нами появится список заготовленных шаблонов для оформления нашей темы/багрепорта, просто читаем описания и выбираем подходящий. Шаблонов может и не быть у проекта и вам придется самим как-то оформлять. После выбора шаблона, перед нами появилось окно со строками из шаблона. Далее мы заполняем все что от нас просят и прикрепляем файлы кликая в обведенное место. Заполнять желательно на Английском языке, но если тема крайне сложная и с большим объемом текста, то можно и на родном языке писать. Если будете вставлять ссылки на сторонние сайты содержащие пиратский контент, то вставляйте ссылку как кусок кода между двух грависов `h t t p s://rutracker.org/` Нажимаем Preview для проверки нашей деятельности и если все устраивает нажимаем Submit new issue. Периодически проверяйте свою тему/багрепорт, у разработчиков могут быть вопросы к вам. Ссылка на комментарий
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 Ссылка на комментарий
Nobi Опубликовано 4 октября, 2021 Автор Поделиться Опубликовано 4 октября, 2021 Создаем и удаляем fork(копию) проекта На странице проекта с которым мы планируем работать, нажимаем Fork Ждем несколько секунд Все, мы сделали fork(копию) проекта и можем вносить в него изменения. Обратите внимание что у нашей копии отсутствует вкладка Issues Для удаления нашего forka(копии) переходите на вкладку Settings, отматывайте страницу в самый низ и нажимайте Delete this repository Скопируйте в поле имя_владельца/название_репозитория и подтвердите что хотите удалить репозиторий Ссылка на комментарий
Nobi Опубликовано 4 октября, 2021 Автор Поделиться Опубликовано 4 октября, 2021 Редактируем файлы через веб интерфейс GitHuba Находим в каталогах нашего форка файл/скрипт который хотим отредактировать и нажимаем на значек карандашика Вносим правки и проверяем результат в Preview changes. Если нас все устраивает, то заполняем заголовок и описание Commit changes на Английском, можно еще добавить ссылку на тему в Issues. После того как закончили редактировать и оформлять, нажимаем Commit changes Если мы в коммит вставили ссылку на тему в Issues, то там появится вот такое упоминание 1 Ссылка на комментарий
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, то там появится вот такое упоминание. Рекомендую вставлять ссылку только в пуллреквест, так вы не засорите тему упоминанием коммитов из вашего временного форка. Ссылка на комментарий
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 и жмем Далее Жмем Готово и советую перезагрузить компьютер Ссылка на комментарий
Mr.Sталин Опубликовано 5 октября, 2021 Поделиться Опубликовано 5 октября, 2021 (пост можно удалить чтоб не мешался.) Ссылка на комментарий
Nobi Опубликовано 5 октября, 2021 Автор Поделиться Опубликовано 5 октября, 2021 настолько банальные вещи, что тошно смотреть, особенно вот про установку)).Ну а что поделаешь, я уже давал небанальный гайд кое-кому и это не дало результатов. Про git portable от тебя узнал, а изначально хотел про тот хитровыебнутый инсталлятор делать гайд. Небанальные вещи будут после вопросов в этой теме Ссылка на комментарий
Nobi Опубликовано 6 октября, 2021 Автор Поделиться Опубликовано 6 октября, 2021 Делаем git cloneНа странице нашего форка жмем кнопку Code и копируем https ссылкуВ отдельном каталоге открываем контекстное меню правой кнопкой мыши и нажимаем Git CloneПроверяем что ссылка из буфера обмена вставилась в URL поле открывшегося окна и нам предложили подходящий каталог, после чего нажимаем ОКЖдем когда все скачаетсяПри успешном завершении закачки, мы увидем чтото вот такое Ссылка на комментарий
Nobi Опубликовано 6 октября, 2021 Автор Поделиться Опубликовано 6 октября, 2021 Делаем первый git commit После правок файлов в нашей локальной копии проекта, открываем контекстное меню правой кнопкой мыши у каталога и нажимаем Git Commit И внезапно TortoiseGit ругается сообщая нам что надо прописать username и email, так как они являются частью коммитов. Просто нажимаем Да Тут нам рассказывают про локальные(для репозитория), глобальные(для пользователя) и системные(для всех пользователей) конфиги. Просто нажимаем ОК Вписываем наш GitHubовский username и email, а потом прожимаем Применить и ОК. Тут вы можете заметить те самые Local, Global, System. Советую использовать Global, так вам не придется повторно прописывать username и email при работе с другими репозиториями Заполняем заголовок и описание коммита на Английском и нажимаем Commit Жмем Close Ссылка на комментарий
Nobi Опубликовано 7 октября, 2021 Автор Поделиться Опубликовано 7 октября, 2021 Делаем первый git pushПосле того как наделали коммитов, открываем контекстное меню в каталоге проекта и нажимаем PushТут оставляем все как есть и нажимаем ОКНо тут вместо отправки наших коммитов на GitHub, нас просят авторизоваться. Выбираем manager-coreЖмем Sign in with your browserЖмем AuthorizeПодтверждаем введением пароляЗакрываем вкладку после успешной авторризацииНашм коммиты отправились на GitHub, нажимаем CloseМожем сходить на GitHub и проверить результат Ссылка на комментарий
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 и проверяем результат Ссылка на комментарий
Nobi Опубликовано 7 октября, 2021 Автор Поделиться Опубликовано 7 октября, 2021 @Foxx, @Pyran, Вас этот гайд устраивает? Ссылка на комментарий
Mr.Sталин Опубликовано 7 октября, 2021 Поделиться Опубликовано 7 октября, 2021 RebaseУдаляется содержимое коммита, или там оно сливается? Вас этот гайд устраиваетмне по барабануно слишком много постов можно было в несколь засунуть несколько. Ссылка на комментарий
Nobi Опубликовано 7 октября, 2021 Автор Поделиться Опубликовано 7 октября, 2021 Удаляется содержимое коммитаУдаляется, конфликты гарантированны если последующие коммиты правят тоже самое место, но в процессе Rebase их можно устранить. Возможно есть другие способы удалять отдельные коммиты, но я не знаток. В твоем случае скорей всего надо чтото вот такое использовать Ссылка на комментарий
Mr.Sталин Опубликовано 2 декабря, 2021 Поделиться Опубликовано 2 декабря, 2021 Расскажи как использовать суб-модули.На примере https://github.com/nadult/FreeFT с папкой libfwk @ 3f48ce2Пытался понят зачем это нужно... Или это слишком сложно. Ссылка на комментарий
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. - Если у тебя нет ничего общего для всех твоих проектов - не заморачивайся, если можно что-то вынести - лучше сделать Ссылка на комментарий
Mr.Sталин Опубликовано 3 декабря, 2021 Поделиться Опубликовано 3 декабря, 2021 Общее есть.И приходилось для двух зависимых проектов делать свои комитты.Хотелось бы одним.С Субмодулем это возможно? Ато из твоего описания ничего не понятно, или нужно видео пояснения для особо тупых. :-) Ссылка на комментарий
Farvel Опубликовано 3 декабря, 2021 Поделиться Опубликовано 3 декабря, 2021 Да можно. Есть 2 варианта. Возьмем для примера такую ситуацию - у тебя 2 проекта (основные репозитории) и 3-й проект как сабмодуль у них (репозиторий с общим кодом\файлами). Вариант 1 - коммит в репозиторий сабмодуля. После этого в проектах основных надо делать git submodule update, чтобы изменения сабмодуля подтянулись.Вариант 2 - коммитаешь апдейт сабмодуля изнутри основного проекта. В этом случае во 2-м проекте придется так же делать submodule update, когда будешь в нем работать. Этот вариант требует некоторой дополнительной конфигурации сабмодуля и некоторых доп действий на коммите. Если в проектах не ракетостроение, то я бы рекомендовал остановиться на 1-м варианте. Если надо действительно работать с сабмодулем в основном проекте - могу расписать, как это сделать Ссылка на комментарий
Nobi Опубликовано 3 декабря, 2021 Автор Поделиться Опубликовано 3 декабря, 2021 Про сабмодули ничего рассказать не могу, много видел но никогда не вдавался в детали и воспринимал их как симлинки. @Farvel, вроде доходчиво все объяснил. Вообще знакомство с такими штуками надо начинать с симлинков, хардлинков, рефлинков Ссылка на комментарий
Mr.Sталин Опубликовано 11 января, 2022 Поделиться Опубликовано 11 января, 2022 Руссо-туристо или импортозамещение, пора потихоньку выпиливаться от сраного дяди била)https://gitflic.ru/пока сыро-сыро, и не понятно не загнулось ли там развитие (отключили публичные репы). Ссылка на комментарий
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти