Обмен технологиями

Руководство по Git

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Инструмент контроля распределенных версий Git

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

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

подход к контроллеру версий

Централизованный инструмент контроля версий

​Централизованный инструмент контроля версий, библиотека версий хранится на центральном сервере. Все члены команды при работе загружают код с центрального сервера. Для работы они должны быть подключены к Интернету, либо к локальной сети, либо к Интернету. Отправьте персональные изменения в центральный репозиторий. Такие как: SVN, CVS
Вставьте сюда описание изображения

Распределенный инструмент контроля версий

​ В распределенной системе контроля версий нет «центрального сервера». На компьютере каждого имеется полная библиотека версий. При такой работе нет необходимости подключаться к Интернету, поскольку библиотека версий находится на вашем собственном компьютере. Когда несколько человек сотрудничают, им нужно только передать свои модификации друг другу, и тогда они смогут видеть модификации друг друга. Такие как: Гит

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

Рабочий процесс Git
Вставьте сюда описание изображения

  • клон: Клонировать код из удаленного репозитория в локальный репозиторий.

  • проверить: Проверьте складское отделение на местном складе и внесите изменения.

  • добавлять: отправьте код в промежуточную область перед его отправкой.

  • совершить: отправить на локальный склад и сохранить измененные исторические версии на локальном складе.

  • принести: Извлечение из удаленной библиотеки в локальный склад без каких-либо действий по слиянию.

  • тянуть: извлечь из удаленной библиотеки в локальную и автоматически объединить (слияние), а затем поместите его в рабочую область, что эквивалентноfetch merge

  • толкать: Отправьте код на удаленный склад.

  • git config:Информация о конфигурации

    # 设置用户信息
    git config --global user.name "userName"
    git config --global user.email "Email"
    
    # 查看配置信息
    git config --global user.name
    git config --global user.email
    
  • alias: псевдоним команды конфигурации, в~/.bashrcДобавьте конфигурацию и выполните ее после завершения модификации.source ~/.bashrc

    # 部分windows系统不允许用户创建.开头的文件,可以在gitBash中执行
    touch ~/.bashrc
    
    # 在~/.bashrc中添加内容,输出git提交日志
    alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
    
  • git init: Инициализировать текущий каталог как хранилище git. После успешного выполнения их будет несколько..gitпапка

  • git status: просмотреть статус модификации (Зона временного хранения, рабочая зона)
    Вставьте сюда описание изображения

  • git add: добавить изменения в один или несколько файлов в рабочей области в промежуточную область.

    git add 单个文件名 | 通配符
    
    # 将所有修改加入到暂存区
    git add .
    
  • git commit: отправить содержимое промежуточной зоны в текущий филиал местного склада,git commit -m '注释内容'

  • git log: просмотр журналов отправки и настройка псевдонимов.git-log

    git log [option]
    	--all 显式所有分支
    	--pretty=oneline 将提交信息显示为一行
    	--abbrev-commit 使得输出的commitId更简短
    	--graph 以图的形式显示
    
  • git reset:Откат версии

    # 查看已经删除的记录,可以看到已经删除的提交记录
    git reflog
    
    # 版本切换,commitId可以通过git log查看
    git reset --hard commitId
    
  • git branch: Просмотр локальных веток Использование ветвей означает, что работу можно отделить от основной линии разработки для исправления ошибок и разработки новых функций, чтобы не затрагивать основную линию.

    • владелец(Производство) Ветка: онлайн-ветвь, основная ветка, ветка, соответствующая малым и средним проектам как приложения, работающие онлайн.

    • развивать(развивать) ветка: это ветка, созданная из master. Обычно она используется в качестве основной ветки разработки. Если нет других требований к параллельной разработке для различных этапов онлайн-разработки, разработка может быть выполнена в этой версии. фаза разработки завершена, ее необходимо объединить с основной веткой и подготовить к запуску в Интернет.

    • Ветка Feature/xxx: Ветка, созданная из разработки. Обычно она разрабатывается параллельно, но создается, когда запуск происходит не в тот же период. После завершения исследовательских задач в ветке она объединяется с веткой. развивать отрасль.

    • Ветка hotfix/xxx: ветвь, производная от master, обычно используемая для оперативного исправления ошибок. После завершения исправления ее необходимо объединить с ветвями master, test и development.

    • тест(тест) ветвь

    • предварительно(До запуска) ветвь
      Вставьте сюда описание изображения

    # 查看本地分支
    git branch
    
    # 创建本地分支
    git branch 分支名
    
    # 切换分支
    git checkout 分支名
    
    # 切换到一个不存在的分支,创建并切换
    git checkout -b 分支名
    
    # 合并分支,一个分支上的提交可以合并到另一个分支
    git merge 分支名
    
    # 删除分支,不能删除当前分支,只能删除其它分支
    # 删除时需要做各种检查
    git branch -d 分支名
    # 强制删除,不做任何检查
    git branch -D 分支名
    
  • Разрешение конфликтов: если изменения в файлах в двух ветвях могут конфликтовать, например, одна и та же строка одного и того же файла изменяется одновременно, конфликт необходимо разрешить вручную. Шаги следующие:

    1. Обработка конфликтов в файлах
    2. Добавьте файлы, разрешенные конфликтом, во временное хранилище (добавлять)
    3. Отдать на склад (совершить)

Удаленный склад

  • git remote add: Добавить удаленный склад. Эта операция заключается в том, чтобы сначала инициализировать локальную библиотеку, а затем подключить ее к созданной удаленной библиотеке.

    git remote add