«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Впервые работаю с удаленным Git

Впервые работаю с удаленным Git

Опубликовано 8 ноября 2024 г.
Просматривать:480

First time working with Git remote

Введение

На этой неделе я углубил свое понимание Git, особенно работы с удаленными приложениями Git. В качестве предварительного условия при работе с удаленными пользователями необходимо знание процесса слияния Git. На прошлой неделе я поделился своим первым опытом слияния Git и обсудил некоторые лучшие практики. На этой неделе я применил эти знания при работе над новой функцией, но не в своем собственном репозитории, а в репозитории соавтора — моего друга Маянка. Одновременно он работал над функцией в моем репозитории, позволяющей нам практиковать удаленное сотрудничество с помощью Git.

Новая функция: поддержка конфигурации TOML.

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

Например, если у пользователя есть файл конфигурации по адресу C:\User\Anh\config.toml, инструмент теперь проверит наличие файлов .toml в домашнем каталоге пользователя. Если такой файл присутствует, инструмент считывает его и применяет его значения для установки конфигураций по умолчанию, переопределяя встроенные значения по умолчанию. Однако пользователи по-прежнему могут предоставлять аргументы командной строки, которые будут иметь приоритет над значениями файла TOML.

Выполнение

Чтобы реализовать эту функцию, я использовал пакет toml для анализа содержимого файла конфигурации TOML:


import * as toml from 'toml';


Поскольку инструмент будет искать файл .toml в домашнем каталоге пользователя, я использовал встроенный модуль os Node.js для получения пути к домашнему каталогу:


const os = require("os");
const homeDir = os.homedir();


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

Примечания

  • Инструмент будет искать скрытый «точечный файл» (например, .config.toml) в домашнем каталоге, содержащий параметры по умолчанию в формате TOML.
  • Если файл отсутствует, инструмент проигнорирует это и продолжит использовать настройки по умолчанию, как в файле config.js.
  • Если файл существует, но не является допустимым TOML, инструмент завершит работу с соответствующим сообщением об ошибке.
  • Если файл TOML существует и никакие аргументы командной строки не переопределяют его значения, будут использоваться настройки из файла TOML (например, модель по умолчанию).
  • Инструмент будет игнорировать любые нераспознанные параметры в файле TOML для обеспечения обратной совместимости.

Процесс удаленного сотрудничества

Как упоминалось ранее, на этой неделе мы отрабатывали удаленные рабочие процессы Git и слияние Git с Mayank. Чтобы поработать над функцией в его репозитории, я выполнил следующие шаги:

  1. Разветвление и клонирование: я разветвил его репозиторий и клонировал его на свой локальный компьютер.
  2. Создать ветку: я создал новую ветку в своей локальной копии и начал работать над новой функцией.
  3. Зафиксировать и отправить: после внесения изменений я зафиксировал их в ветке и отправил ветку в свой раздвоенный репозиторий.
 git push origin 

Как только Маянк отправил свои изменения в новую ветку и запросил запрос на включение (PR), я захотел протестировать его код перед слиянием. Вот тут-то и стал незаменимым git Remote:

  • Добавить удаленный компьютер: я добавил его репозиторий как удаленный на свой локальный компьютер:

  git remote add 
  • Извлечь коммиты: я получил последние коммиты и ветки из его репозитория:

git fetch 
  • Ветка отслеживания: я создал ветку отслеживания, чтобы следить за его обновлениями, не затрагивая напрямую мой репозиторий:

git checkout -b /

Выявление и устранение ошибок

Во время тестирования я выявил две ключевые проблемы в ветке Mayank:

  • Неправильная конфигурация каталога: инструмент неправильно читал файл TOML из корня проекта, а не из домашнего каталога пользователя.
  • Разрешение пути: код использовал относительный путь к файлу, что приводило к ошибкам при запуске его на моем компьютере. Я предложил перейти на абсолютный путь

// Resolve the path to the configuration file
const configPath = path.resolve(__dirname, "../.toml");

// Load configuration from config.toml
const config = loadConfig(configPath);


После выявления этих проблем я обсудил их с Mayank через Slack и вместе нашел решение. Я также предоставил отзыв непосредственно по его запросу на включение. Этот процесс заставил меня почувствовать, что я вношу свой вклад в реальный совместный проект. Как только я был удовлетворен исправлениями, я объединил его ветку с основной и отправил ее в свой удаленный репозиторий.

Заключение

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

Работая над этой функцией и интегрируя пульты Git, я приобрел практический опыт, который будет неоценимым для будущих проектов.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/anhchienvu/first-time-working-with-git-remote-5dbl?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3