Одна статья поможет вам понять «Трех мушкетеров Git»
Одна статья поможет вам понять «Трех мушкетеров Git»

Я не знаю, слышали ли вы о «Git Три «мушкетера», позвольте мне сначала поговорить о том, почему он называется «Три мушкетера». Я думаю, это, вероятно, потому, что мы, программисты, подобны внутренней силе, а Git — как меч в наших руках. развитие командной совместной работы в компании. Независимо от того, участвуете ли вы в сообществе с открытым исходным кодом, Git является необходимым навыком, потому что только умея умело использовать Git для командного сотрудничества и разработки проектов, вы можете лучше продемонстрировать свою внутреннюю силу, то есть ваши способности программирования. Сегодня мы можем обсудить «Git». Три мушкетера"。

Git Три мушкетера

“Git Три «мушкетера» обычно называют три инструмента или платформы, которые тесно связаны и широко используются в области разработки программного обеспечения и контроля версий: Git, GitHub. и Гит Лаб. Каждый из этих трех инструментов имеет уникальную цель, но вместе они предоставляют разработчикам мощную поддержку контроля версий и управления кодом.

Git Три мушкетера
Git Три мушкетера
Git

Распределенная система контроля версий с открытым исходным кодом, разработанная Линусом Торвальдсом. Торвальдс) в качестве поддержки разработки и проектирования ядра Linux. Он позволяет разработчикам отслеживать историю изменений файлов.,Отслеживайте, кто и когда внес изменения,И сравнивайте и объединяйте разные версии проекта.

Функция:Git Акцент на скорости, целостности данных и распределенном рабочем процессе. Это позволяет разработчикам работать независимо на своем локальном компьютере и общаться с другими Git Синхронизация склада.

GitHub

на основе Git Платформа хостинга удаленного хранилища кода обеспечивает хостинг кода, проверку кода、Отслеживание проблем、Непрерывная интеграция/непрерывное развертывание (CI/CD), взаимодействие с сообществом и другие функциональные услуги. GitHub Это одна из самых популярных хостинговых платформ для проектов с открытым исходным кодом и частных проектов, особенно для проектов, требующих участия и вклада сообщества.

Функция:GitHub Не только позволяет разработчикам хранить код и управлять им, но также поощряет сотрудничество между разработчиками. Через запросы на включение (Pull Запросы), Отслеживание проблем (Проблемы) и Wiki Страницы и другие функции, GitHub Способствует участию сообщества и вкладу в проекты с открытым исходным кодом.

GitLab

открытый исходный код Git Инструменты управления складом, которые обеспечивают GitHub Аналогична функции, но позволяет разработчикам устанавливать и запускать ее на своих серверах. GitLab Особенно подходит для предприятий и организаций, которым требуется локальное развертывание, которые обеспокоены конфиденциальностью данных или хотят получить полный контроль над собственными репозиториями кода. Он обеспечивает высокую степень настраиваемости и масштабируемости.

Функция:GitLab Включая хостинг кода, контроль версий, отслеживание проблем, CI/CD конвейеры, вики, обзоры кода и многие другие функции, призванные стать полным DevOps Инструменты жизненного цикла.

взаимосвязь между ними

Git — это ядро ​​системы контроля версий, предоставляющее базовые функции контроля версий.

GitHub и GitLab оба основеGitПлатформа хостинга удаленного хранилища кода,Но GitHub фокусируется на предоставлении широкого спектра услуг и поддержке сообщества.,GitLab, с другой стороны, больше внимания уделяет настраиваемости и вариантам локального развертывания.

суммируя,Git — это инструмент, GitHub — единственное в мире сообщество с открытым исходным кодом, а GitLab поддерживает частное развертывание.

Историческое развитие Git

Git был разработан в 2005 году основателем Linux Линусом Торвальдсом. В то время он решил самостоятельно разработать новую систему, поскольку BitKeeper отозвал право на использование бесплатной системы контроля версий ядра Linux. Git изначально был разработан для управления исходным кодом ядра Linux и призван предоставить быструю и эффективную систему контроля версий, способную обрабатывать крупномасштабные распределенные проекты. Хотя изначально проект Git использовался только для разработки ядра Linux, он быстро распространился и используется для управления многими другими проектами Linux.

2006 г.,Git становится проектом с открытым исходным кодом,и быстро получил широкое распространениесосредоточиться наи поддержка.

2010 год,Git становится основной системой контроля версий ядра Linux.,Это признак того, что Git стал надежным и широко используемым инструментом.

Git Три мушкетераупражняться

Ниже мы поделимся общими командами и практиками Git, GitHub и GitLab. Из-за нехватки места мы не будем перечислять их полностью, но это наиболее часто используемые и элегантные сущности. Если вы сможете освоить их все, это будет возможно. очень мощный.

Общие команды Git

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

1) Инициализация и клонирование хранилища

git init:Создать новый в текущем каталогеGitсклад。

git clone [url]:Клонировать пультскладместному。

2) Файловые операции

git add [file]:Добавить указанный файл в промежуточную область,готов представить。Если вы хотите отправить файлы в текущем каталоге, вы можете использовать командуgit add .,Все файлы используютgit add *

git rm [file]:из рабочей областии Удалить файлы из области временного хранения,и отправьте операцию удаления.

git mv [file-original] [file-renamed]:Переименовать файл,И поместите это переименование во временное хранилище.

3) Отправить

git commit -m "message":представлять на рассмотрение暂存区的文件местномусклад,И прикрепите заметку с описанием этого представления.

git commit --amend:Изменить последние отправленные замечания или контент。

4) Просмотр статуса и различий

git status:Показать рабочую областьи Статус плацдарма。

git diff:Показать рабочую область Отличия от плацдарма,Или разница между промежуточной областью и предыдущим коммитом.

5) Управление филиалом

git branch:Список местных филиалов,Создайте или удалите ветки.

git branch [branch-name]:Создайте новую ветку, но не переключайтесь。

git checkout [branch-name]:Переключиться на указанную ветку。

git checkout -b [branch-name]:Создать и переключиться на новую ветку。

git merge [branch-name]:Объединить указанную ветку с текущей веткой。

git rebase [branch-name]:Повторно применить коммиты текущей ветки к указанной ветке.。

6) Удаленные складские операции

git remote -v:показать удаленныйсклад Подробности。

git fetch [remote-name]:отудаленныйсклад Получить последние изменения,Но не слился с местным филиалом.

git pull [remote-name] [branch-name]:Вытащите удаленную ветку и объедините ее с локальной веткой.。

git push [remote-name] [branch-name]:将местный分支推送到удаленныйсклад。

git push --force:强制推送更改到удаленныйсклад,Даже если есть конфликт.

7) Управление тегами

git tag:перечислить все теги。

git tag [tag-name]:Создать новый ярлык。

git show [tag-name]:Посмотреть сведения о этикетке。

git push origin --tags:Перебрать все локальные теги,и отправить их в указанный удаленный репозиторий.

8) Другие часто используемые команды

git log:Показать журнал коммитов。

git show [commit-id]:Показать детали отправки。

git stash:Временно сохранить изменения в текущей рабочей области,Для облегчения перехода на другие филиалы или выполнения других операций.

git cherry-pick [commit-id]:Выберите и примените изменения коммита к текущей ветке.。

git reflog:Просмотреть все журналы цитирования,Включает коммиты и ветки, которые были удалены.

Эти команды являются наиболее основными и часто используемыми частями ежедневных операций Git.,Их освоение может значительно повысить эффективность и точность контроля версий. конечно,Функция Git — это нечто большее,Разработчикам предстоит изучить и изучить более продвинутые функции и команды.

Общие практики GitHub

GitHub как широко используемая платформа для хостинга кода и совместной работы.,Обычно разрабатывается с использованием независимых складов.,Включает в себя разветвление, клонирование и обслуживание филиалов склада.,вpull Запрос – это важный шаг.

Обслуживание репозитория GitHub
Обслуживание репозитория GitHub

Общий процесс использования запроса на извлечение на GitHub выглядит следующим образом:

1) Клонировать проект:первый,Вам необходимо клонировать репозиторий проекта на GitHub локально.

2) Создать ветку:существоватьместныйскладсередина,Создайте новую ветку для хранения ваших изменений.

3) Внести изменения:Внесение изменений в код в новой ветке,и провести необходимое тестирование.

4) Отправьте изменения:изменитсяпредставлять на рассмотрениеместномусклад。

5) Нажмите ветку:Отправьте свои изменения вGitHubначальство的удаленныйскладновый филиал。

6) Создать притяжение Request:существоватьGitHubначальство,Найдите свой новый филиал,и нажмите «Новый pull кнопку «запрос», чтобы создать новый запрос Request。

7) Заполните информацию:существоватьPull Requestстраницаначальство,Заполните заголовок, описание и другую соответствующую информацию.,Это позволит другим соавторам узнать о ваших изменениях.

8) Ожидание обзора:представлять на рассмотрениеPull После запроса подождите, пока специалист по сопровождению проекта или другие соавторы выполнят запрос. код и обсудить.

9) Объединить изменения:еслиPull Запрос принят, и сопровождающий проекта объединит ваши изменения в целевую ветку.

в,Для развития и обслуживания филиалов на складе,Вы можете обратиться к Git Flow.

Git Flow

Git Поток – это своего рода на основе Спецификация рабочего процесса модели ветвей усиливает использование модели ветвей и делает процесс разработки программного обеспечения более ясным и упорядоченным. Гит Основные процессы потока можно резюмировать следующим образом:

основная ветвь

Git Поток зависит от двух основных ветвь для управления разработкой и выпуском проекта:

  • главная ветка:Это главная ветка,Используется для хранения кода стабильной производственной среды. Код на главной ветке полностью протестирован,и код, который можно немедленно развернуть в производстве.
  • развивать отрасль:Эта ветка используется для хранения разрабатываемого кода.。все новое ФункцияразработкаиbugРемонтные работы должны быть выполненына основеразвивать сделки проведены. Когда новые функции или исправления будут завершены и протестированы, они будут снова включены в разработку. отрасль。
вспомогательный филиал

Кромеосновная ветвьснаружи,Git Flow также использует ряд вспомогательных средств. филиал для поддержки конкретных мероприятий по развитию:

  • функциональная ветка:каждый новый Функция Все должносуществоватьнезависимыйфункциональная Разработано на ветке. Преимущество этого в том, что вы можете Параллельная разработка нескольких функций, не мешающих друг другу. Когда функция развита, функциональная веткабудет объединено обратно вразвивать отрасль,А может быть и удалить.
  • ветка релиза:когдаразвивать Кодекс по сделкам достигает определенного уровня стабильности и зрелости, что требует Готов к выпускучас,будет следоватьразвивать стороны вытаскивают ветку релиза。существоватьветка В релизе основными видами деятельности являются действия, ориентированные на выпуск, такие как исправление ошибок и обновление документации. Когда подготовка к выпуску будет завершена, ветка релизабудет объединено обратно вглавная веткаиразвивать отрасль,А может быть и удалить.
  • ветка исправлений:если生产环境середина出现了需要аварийное Вопросы по исправлению можно задать с главной ветка вытащить ветку исправлений для ремонта. После завершения ремонта ветка исправленийбудет объединено обратно вглавная веткаиразвивать усилия, чтобы обеспечить восстановление как производственной среды, так и среды разработки.
Обзор процесса
  • инициализация:создаватьmasterиразвивать отрасль。
  • Разработка новой функции:на основеразвивать отрасльсоздаватьфункциональная ветка, проводит разработку новой функции. После завершения разработки функциональная веткаслиться обратноразвивать отрасль。
  • Готов к выпуску:отразвивать отрасльвытащитьветка релиза, проводить подготовительные работы перед релизом, такие как исправление ошибок, обновление документации и т.д. После завершения подготовки ветка релизаслиться обратноглавная веткаиразвивать отрасль。
  • аварийное исправление:если生产环境середина出现问题,отглавная веткавытащитьветка исправленийруководитьаварийное исправление. После завершения ремонта ветка исправленийслиться обратноглавная веткаиразвивать отрасль。
Преимущества Git Flow
  • четкая структура филиалов:Путем явного именования ветвейииспользовать,Сделайте процесс разработки проекта более понятным и упорядоченным.
  • Параллельная разработка:Разрешить членам команды Параллельная разработка нескольких функций для повышения эффективности разработки.
  • Гибкая стратегия выпуска:проходитьветка релизаиветка поддержка исправлений позволила выпустить проект иаварийное исправление Работа становится более гибкой и эффективной.

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

Общие практики GitLab

Практические методы GitLab можно полностью отнести к Git. Flow,Поэтому я не буду здесь давать никаких дополнительных пояснений.

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

Эксплуатационные аспекты

GitLab

GitHub

работа филиала

Поддерживает быстрое создание, переключение и объединение ветвей. Доступно через GitLab CI/CD для автоматического тестирования и развертывания.

Также поддерживает веткисоздавать、выключательислить Доступно через GitHub Действия реализуют аналогичные функции

проверка кода

Используйте объединение Запрос (мерж-реквест) на проверку кода Разрешено при слиянии Requestсерединаруководить Комментарий、обсуждатьи Исправлять

Используйте притяжение Запрос (pull request) на проверку кода Pull Запрос также поддерживает комментарии, обсуждения и изменения кода.

Непрерывная интеграция/непрерывное развертывание (CI/CD)

GitLab Собственная интеграция CI/CD, дополнительная настройка не требуется. Обеспечить богатыхCI/CDшаблонидокумент

Внедряйте CI/CD через GitHub Actions или сторонние сервисы. Сообщество GitHub Actions предлагает множество шаблонов, но может потребоваться дополнительное обучение.

Метод развертывания

Можно самостоятельно развернуть на частном сервере или использовать сервис GitLab SaaS.

В основном предоставляет услуги облачного хостинга, но поддерживает частное развертывание через GitHub Enterprise.

Краткое содержание

Git называют распределенной системой контроля версий. Как отражается ее распространение?

Как распределенная система контроля версий, характеристики Git в основном отражаются в следующих аспектах:

1) Распределение склада кода

: В Git,Каждый разработчик может клонировать копию всего проекта в свою локальную среду. Это означает, что у каждого разработчика есть полная история проекта и копии всех ветвей.,И не просто части кода или истории.

2) Распределенная совместная работа и синхронизация: разработчики могут отправлять свои изменения в репозитории других разработчиков через сеть для совместного использования.,и получать изменения от других разработчиков, помещенные в ваш собственный репозиторий. Этот метод распределенного сотрудничества позволяет нескольким разработчикам работать одновременно.,Улучшение совместной разработки и совместного использования кода.

3) Согласованность и надежность данных: Git использует алгоритм хеширования SHA-1 для идентификации различных отправленных данных и обеспечения уникальности и целостности каждой версии. Эта распределенная структура данных и алгоритм позволяют Git поддерживать согласованность и надежность данных во время их передачи и хранения.

ссылка:

https://blog.csdn.net/sunyctf/article/details/130587970

https://www.ruanyifeng.com/blog/2015/12/git-workflow.html

https://www.cnblogs.com/yangblood/p/14442119.html

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose