Карта разума «Раз и навсегда» поможет вам освоить команды Git

внешний интерфейс Git
Карта разума «Раз и навсегда» поможет вам освоить команды Git

предисловие

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

Нет публикиИнтерфейс UpUp, ответьте Git, вы можете получить карту мозга.

Обращайтесь в 👉TianTianUp, вас ждут сюрпризы ❤️

Карта мозга👇

Git脑图

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


В первую очередь разбираемся в обычном процессе работы Git, хорошая картинка популярная в интернете👇

Git经典流程图


основная концепция

Git基本命令

Основываясь на приведенной выше диаграмме, мы имеем следующие понятия👇

  • Репозиторий 👉.git

    • Когда мы используем git для управления такими файлами, какgit initКогда же на этот раз будет еще один.gitфайл, мы называем этот файл репозиторием.
    • .git文件Другая функция заключается в том, что при его создании автоматически создается главная ветка и указывается указатель HEAD на главную ветку.
  • Рабочее пространство

    • Место, где локальный проект хранит файлы
    • Его можно понимать как рабочую область на карте
  • Промежуточная область (Индекс/Этап)

    • Как следует из названия, это место для временного хранения файлов.Добавление файлов рабочей области в буфер с помощью команды add
  • Местный склад (Репозиторий)

    • Обычно мы используем команду фиксации для добавления файлов из промежуточной области в локальный репозиторий.
    • Вообще говоря, указатель HEAD указывает на основную ветку.
  • Удаленный склад (Удаленный)

    • Например, когда мы используем GitHub для размещения нашего проекта, это удаленный репозиторий.
    • Обычно мы используем команду clone для копирования кода удаленного склада, а после обновления локального кода отправляем его на удаленный склад через push-уведомление.

Статус git-файла

  • Обычно нам нужно проверить статус файла
git status
  • Changes not staged for commit
    • Это означает, что в рабочей области есть содержимое, а в кеше нет, нам нужноgit add
  • Changes to be committed
    • Вообще говоря, в это время файл помещается в область кеша, нам нужноgit commit
  • nothing to commit, working tree clean
    • В это время мы можем отправить локальный код на удаленный

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

git настроить команду

Git配置命令

  • Список текущей конфигурации
git config --list	
  • Получение списка конфигураций репозитория
git config --local --list
  • Список глобальной конфигурации
git config --global --list
  • Список конфигураций системы
git config --system --list

С помощью приведенной выше команды, если вы обнаружите, что не настроили информацию о пользователе, настройте ее дальше👇

  • Настроить имя пользователя
git config --global user.name "your name"
  • Настройка почтовых ящиков пользователей
git config --global user.email "youremail@github.com"

управление филиалом

Git分支管理

  • Посмотреть местный филиал
git branch
  • Просмотр удаленных веток
git branch -r
  • Просмотр локальных и удаленных филиалов
git branch -a
  • Из текущей ветки перейти в другую ветку
git checkout <branch-name>
// 举个例子
git checkout feature/tiantian
  • Создать и переключиться на новую ветку
git checkout -b <branch-name>
// 举个例子👇
git checkout -b feature/tiantian
  • удалить ветку
git branch -d <branch-name>
// 举个例子👇
git branch -d feature/tiantian
  • Текущая ветка объединяется с указанной веткой
git merge <branch-name>
// 举个例子👇
git merge feature/tiantian
  • Посмотрите, какие ветки были объединены в текущую ветку
git branch --merged
  • Посмотрите, какие ветки не объединены в текущую ветку
git branch --no-merged
  • Просмотр информации о последнем объекте фиксации каждой ветки
git branch -v
  • удалить удаленную ветку
git push origin -d <branch-name>
  • переименовать ветку
git branch -m <oldbranch-name> <newbranch-name>
  • Потяните удаленную ветку и создайте локальную ветку
git checkout -b 本地分支名x origin/远程分支名x

// 另外一种方式,也可以完成这个操作。
git fetch origin <branch-name>:<local-branch-name>
// fetch这个指令的话,后续会梳理

получить инструкцию

Git命令fetch

Я так понимаю обновить содержимое удаленного склада на локальный.В процессе разработки проекта с сестрой недавно эта команда используется.

Конкретно вот так 👇

получить рекомендуемое письмо

git fetch origin <branch-name>:<local-branch-name>
  • Вообще говоря, этот источник — это имя удаленного хоста, которое обычно является источником по умолчанию.
  • branch-nameветка, из которой вы хотите извлечь
  • local-branch-nameВообще говоря, вы создаете новую ветку локально и загружаете код исходной ветки в локальную ветку.

Например👇

git fetch origin feature/template_excellent:feature/template_layout
// 你的工作目录下,就会有feature/template_layout
// 一般情况下,我们需要做的就是在这个分支上开发新需求
// 完成代码后,我们需要做的就是上传我们的分支

Другие способы написать выборку

  • Все обновления удаленного хоста извлекаются локально.
git fetch <远程主机名> 
  • В этом случае извлекаются все обновления ветки.Если вы хотите получить конкретную ветку, вы можете указать имя ветки👇
git fetch <远程主机名> <分支名>
  • Когда вы хотите получить содержимое ветки обратно в локальную ветку, выполните следующие действия:
git fetch origin :<local-branch-name>
// 等价于👇
git fetch origin master:<local-branch-name>

причудливая отмена

Git花式撤销

  • отозватьРабочее пространствоИсправлять

    • git checkout --
  • Отмена файла промежуточной области (не перезаписывает рабочую область)

    • git reset HEAD
  • откат версии

    • git reset --(soft | mixed | hard ) < HEAD ~(num) > |

    • инструкция Объем
      --hard Отменить все, включая HEAD, индекс, рабочее дерево
      --mixed Резервная часть, включая HEAD, индекс
      --soft откат только HEAD

Запрос состояния

  • Посмотреть статус
    • git status
  • Посмотреть историю операций
    • git reflog
  • Просмотр журналов
    • git log

запрос документа

  • Показать структуру команды Git
    • git help (--help)
  • Показывает полный список схем команд Git.
    • git help -a
  • Показать руководство по конкретным командам
    • git help

постановка файла

Git命令文件暂存

  • Добавить изменения в тайник

    • git stash save -a "сообщение"
  • удалить постановку

    • git stash drop <stash@{ID}>
  • Посмотреть список тайников

    • git stash list
  • удалить весь кеш

    • git stash clear
  • отменить изменения

    • git stash pop <stash@{ID}>

Сравнение различий

Git文件比较

  • Сравнение рабочей области и кэша
    • git diff
  • Сравните область кеша с содержимым последней фиксации локальной библиотеки.
    • git diff -- cached
  • Сравните содержимое рабочей области и последний коммит локального
    • git diff HEAD
  • Сравните различия между двумя коммитами
    • git diff

именование ветвей

Git分支管理规范

главная ветвь

  1. Основная ветвь, ветвь, используемая для развертывания рабочей среды для обеспечения стабильности.
  2. Основная ветвь обычно объединяется с ветвями разработки и исправления, и код не может быть изменен напрямую ни при каких обстоятельствах.

развивать филиал

  1. develop — это ветка разработки, которая обычно сохраняет последний завершенный код с исправленными ошибками.
  2. При разработке новых функций ветки функций создаются на основе ветки разработки.

функциональная ветвь

  1. Чтобы разработать новые функции, в основном создайте ветку функций на основе develop.
  2. Именование веток: ветки функций, начинающиеся с feature/, правила именования: feature/user_module, feature/cart_module.

**У меня есть глубокое понимание этого.Я в Netease, и ментор научил меня этому.**Обычно строится фиче-ветка.

выпускная ветвь

  1. релиз является веткой перед запуском, и на этапе тестирования релиза код ветки релиза будет использоваться в качестве эталонного теста.

ветвь исправлений

  1. Именование веток: hotfix/ начинается с ветки исправления, и ее правила именования аналогичны ветвям функций.
  2. Когда в сети возникает срочная проблема, ее необходимо вовремя исправить.Ветка master используется в качестве основы для создания ветки исправления.После завершения исправления ее необходимо объединить в ветку master и ветку разработки.

Для справки:дядя соломинка


Основная операция

Имея изложенное выше основное понимание, давайте посмотрим на общий процесс.

  • Создайте локальный репозиторий git init

    git init

  • Свяжите локальные и удаленные репозитории

    git remote add origin

    URL-адрес псевдонима удаленного склада по умолчанию может бытьВы можете использовать https или ssh для создания нового

  • Проверить информацию о конфигурации

    • git config --list
  • Имя пользователя и адрес электронной почты Git

    git config --global user.name "yourname"

    git config --global user.email "your_email"

  • Сгенерировать SSH-ключи

    ssh-keygen -t rsa -C "сменить адрес электронной почты здесь"

    В cd ~/.ssh есть файл с именем id_rsa.pub, скопируйте содержимое в мои SSHKEYs в библиотеке git.

  • Часто вижу информацию об удаленном складе

    • git remote -v
  • Переименование удаленного репозитория

    • git remote rename old new
  • отправить в кеш

    • git add .Загрузить все в кеш
    • git добавить указанный файл
  • Отправить в локальный репозиторий

    • git commit -m 'some message'
  • Отправить в удаленный репозиторий

    • git push :
  • Посмотреть ветку

    • git branch
  • Создать новую ветку

    • git branch
  • переключить ветку

    • git checkout
  • Создайте ветку и переключитесь

    • git checkout -b
  • удалить ветку

    • git branch -d
  • удалить удаленную ветку

    • git push -d
  • переключить ветку

    • git checkout

игнорировать файл .gitignore

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

Итак, давайте посмотрим, как настроить информацию о файле.

# 此行为注释 会被Git忽略

# 忽略 node_modules/ 目录下所有的文件
node_modules


# 忽略所有.vscode结尾的文件
.vscode

# 忽略所有.md结尾的文件
*.md

# 但README.md 除外
!README.md

# 会忽略 doc/something.txt 但不会忽略doc/images/arch.txt
doc/*.txt

# 忽略 doc/ 目录下所有扩展名为txt文件

doc/**/*.txt


Ссылаться на

❤️ Всем спасибо

Если вы считаете этот контент полезным:

  1. Поставьте лайк и поддержите его, чтобы больше людей увидело этот контент
  2. Обратите внимание на публичный аккаунтИнтерфейс UpUp, регулярно публиковать хорошие статьи для вас.
  3. Если вы считаете, что это хорошо, вы также можете прочитать последние статьи TianTian (спасибо за вашу поддержку и поддержку 🌹🌹🌹):