【Git】Введение в общие команды

Оглавление

Укажите имя и адрес электронной почты при отправке кода

git config user.email [email protected]
git config user.name 太空眼睛

Клонировать код из удаленного репозитория

  • Клонируйте код из ветки по умолчанию:git clone [email protected]:demo/demo.git
  • Клонируем код из указанной ветки:git clone -b "develop" [email protected]:demo/demo.git
  • Код клонирования с паролем учетной записи ( @символы %40заменены):git clone http://abc%40qq.com:[email protected]/demo.git

Вытащить код из удаленного репозитория

  • git pull
  • Вытащите код и rebase:git pull -r

Отправить код на местный

git commit -m "对本次提交的描述"

Отправить код в удаленный репозиторий

  • git push
  • Нажмите несколько удаленных веток одновременно:git push --atomic origin branch1 branch2

    В Git >= 2.4 это можно сделать автоматически (т.е. если какую-либо из указанных веток нельзя нажать, ничего не будет отправлено)

  • Вставьте загруженный код в новую библиотеку (проект необходимо заранее собрать в новой библиотеке):git push --mirror https://gitee.com/demo/demo.git

Работа с адресом удаленного склада

  • Измените originадрес удаленного склада:git remote set-url origin https://gitee.com/demo/demo.git
  • Добавьте giteeудаленный репозиторий с псевдонимом:git remote add gitee https://gitee.com/demo/demo.git

операционная ветвь

  • Используйте параметр -t для создания локальной ветки с тем же именем, что и у удаленной ветки:git checkout -t origin/refactor
  • Создайте новую ветку:git branch new_branch_name
  • Создайте и переключитесь на новую ветку:git checkout -b new_branch_name
  • удалить локальную ветку
    • git branch --delete dev
    • git branch -d dev
  • Удалить удаленную ветку:git push origin --delete branch
  • удалить ветку отслеживания
    • git fetch origin --prune
    • git fetch origin -p

тег операции

  • Удалить удаленный тег:git push origin --delete tag <tagname>

Отменить удаленный контроль версий

  • Удалить pom-xml-flattenedконтроль версий из файла:git rm -r --cached pom-xml-flattened

оперативный патч

  • Проверьте, можно ли применить патч:git apply --check /G/demo/demo.patch
  • Примените патч:git apply /G/demo/demo.patch
  • Если есть конфликт, патч все равно применяется:git apply --reject /G/demo/demo.patch

    Для конфликтующих файлов .rejбудет создан файл с тем же именем, и конкретный конфликтующий блок кода будет записан в этот файл.

Изменить примечания

Изменить последний коммит

git commit --amend

Изменить старые заметки

  • Сначала проверьте идентификатор коммита родительского коммита, который нужно изменить.

git reflog -5

  • После получения идентификатора последней отправки представления для изменения комментария вы можете войти на интерактивную страницу для модификации.

git rebase -i [commit_id]

  • Измените выбор строки, которую необходимо изменить, чтобы перефразировать, затем Ctrl + C, чтобы выйти из режима редактирования, и снова введите, он войдет в :wqдругой интерактивный интерфейс, и вы можете напрямую изменить примечания, нажмите после изменения ctrl+c, :wqсохраните и выйдите

выбор вишни

Если вы хотите включить коммит A, вы можете использовать следующий синтаксис
git cherry-pick A^..B

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

  1. В Git типа Bash
$ ssh-keygen -t ed25519 -C "[email protected]"
  1. Вы всегда можете нажать Enter в соответствии с подсказкой по умолчанию. После успеха C:\Users\you\.sshв этом каталоге будут созданы 2 файла.
id_ed25519
id_ed25519.pub

Добавьте сгенерированный открытый ключ в учетную запись github.

  1. 登录gibhub , «Настройки» -> «Ключи SSH и GPG» -> «Новый ключ SSH»
  2. Введите заголовок , вы можете ввести любой
  3. Скопируйте и вставьте содержимое файла в ключid_ed25519.pub

Подтвердите SSH-ключ

В Git типа Bash

ssh -T [email protected]

Если отображается следующая информация, проверка пройдена

Hi xxxx! You've successfully authenticated, but GitHub does not provide shell access.

Управление несколькими учетными записями github

Измените C:\Users\you\.ssh\configфайл и добавьте следующий пример конфигурации

Host            github
HostName        github.com
User            git
IdentityFile    C:\Users\you\.ssh\id_ed25519

См. выше , чтобы проверить ключ SSH.

описание конфигурационного файла git

  • Глобальный путь к конфигурационному файлу: ~/.gitconfig, git config --globalвсе содержимое настроек находится в этом файле
  • Конфигурация ключа SSH службы Git:~/.ssh
  • Если в глобальной конфигурации указаны имя пользователя и почтовый ящик, но вам нужно git commitотобразить другое имя пользователя и почтовый ящик для других проектов, вы можете 工程目录/.git/configдобавить следующее содержимое в
[user]
	email = [email protected]
	name = xxx

Слишком длинное имя файла в git для Windows

gitМожно создавать 4096длинные имена файлов, однако в windowsбольшинстве случаев это 260связано с gitиспользованием более старых версийwindows api

git config --global core.longpaths true

git глобальная конфигурация игнорирования

  • git config --global core.excludesfile C:/Users/Administrator/.gitignore
  • Изменить .gitignoreи добавить правила игнорирования

Решить проблему отображения цифр в китайских именах файлов

git config --global core.quotepath false

Игнорировать проблемы с SSL-сертификатом

git config --global http.sslVerify false

Вытягивайте и фиксируйте только указанный каталог

  • Открытая sparse checkoutфункция:git config core.sparsecheckout true
  • Список для добавления каталога в checkout. Путь является относительным путем под репозиторием, вы также можете отредактировать этот файл с помощью текстового редактора.
    • echo "REPO_COP/" >> .git/info/sparse-checkout
  • Если вы измените его в будущем .git/info/sparse-checkout, добавите или удалите некоторые каталоги, вы можете выполнить следующую команду для перезапускаcheckout
    • git checkout master
    • илиgit read-tree -mu HEAD
  • Чтобы закрыть sparse checkoutфункцию, просто измените настройку, она core.sparsecheckoutбудет falseнедействительной, вам нужно изменить .git/info/sparse-checkoutфайл, заменить содержимое на «*», а затем выполнить команду checkoutилиread-tree

настройки файла sparse-checkout

  • Сопоставление подкаталогов
    • Например, в sparse-checkoutфайле, если перед именем каталога стоит косая черта /docs/, он будет соответствовать только каталогу в корневом каталоге проекта.Если docsперед именем каталога нет косой черты, например docs/, если есть каталог с это имя в других каталогах, оно test/docs/также может быть сопоставлено.
      И если записывается многоуровневый каталог, такой как docs/05/, он соответствует только каталогу в корневом каталоге проекта, независимо от того, предшествует ли ему косая черта, если test/docs/05/он не может быть сопоставлен.
  • подстановочный знак *(звездочка)
    • В sparse-checkoutфайле поддерживаются символы подстановки *, например, его можно записать в следующем формате:
      *docs/
      index.*
      *.gif
      
  • исключение !(восклицательный знак)
    • В sparse-checkoutфайле также поддерживаются элементы исключения !, Если вы хотите исключить только каталог под элементом исключения docs, вы можете написать в следующем формате:
      /*
      !/docs/
      
    • Одно замечание: если вы хотите отключить sparsecheckoutфункцию и взять всю библиотеку проекта, вы можете написать число *, но если есть исключения, вы должны написать их /*, а исключения должны быть написаны после подстановочного знака.

Supongo que te gusta

Origin blog.csdn.net/friendlytkyj/article/details/131260642
Recomendado
Clasificación