Эта статья участвовала в "Проект «Звезда раскопок»”, чтобы выиграть творческий подарочный пакет и бросить вызов творческим поощрительным деньгам.
Введение в Git
чтоGit
? Git
Является самой передовой в мире распределенной системой контроля версий! ! ! Какой? Что ты имеешь в виду? Не беда, если вы не понимаете, просто нужно помнить, что это очень важно, очень важно и нужны навыки программистов.
Git
Команд очень много, подчеркиваю, не заучивайте эти команды сдуру, они бесполезны, некоторые команды могут не использоваться в вашей жизни.
Цель этой главы — научить вас делать это из командной строки.Git
ежедневные базовые упражнения и соответствующим образом познакомит вас со значением команд, чтобы углубить ваше понимание.
Прежде чем представить эти команды, давайте взглянем на очень важную картинку:
На картинке четыре пробела, даGit
Суть рабочего процесса такова:
-
Удаленный:Удаленный репозиторий, т.е. вы находитесь в
Github
илиGitee
Склады проекта, созданные на других платформах; -
Репозиторий:Локальный склад, можно подумать, что он генерируется после того, как мы вытащим проект
.git
папка; -
Показатель:Staging area, по сути это просто файл, т.е.
.git
внутри папкиindex
файл, содержащий список файлов для отправки в локальный репозиторий; -
Рабочее пространство:Рабочее место, где вы находитесь
VS code
илиWebStorm
Код, который пишет компилятор.
Руководство по основным командам Git
1. Клонировать/вытащить проект
Вытягивание проекта — это первый шаг к тому, чтобы начать перемещать кирпичи.Как правило, после создания удаленного склада для проекта вы можете получить.git
Адрес в конце, или этот адрес вам может дать коллега компании, и тогда вы сможете найти справочник по желанию, черезGit BashВведите следующую команду, чтобы вытащить проект на локальный диск.
git clone 你的项目地址.git
2. Просмотр удаленной ветки
Как правило, после вытягивания проекта мы находимся вmaster/main
Основная ветка, не спешите писать код, сначала проверьте удаленную ветку проекта и посмотрите, нужно ли вам переключаться на ветку для конкретной разработки по мере необходимости.
git branch -r
3. Посмотреть локальную ветку
Как правило, локально созданная ветка должна соответствовать удаленной ветке одна за другой.Конечно, если она не выпущена или не связана с удаленной веткой, локальная ветка не повлияет на удаленную ветку, и вы можете создавать, удалять и изменять ее. по желанию.
git branch
4. Создайте локальную ветку
git branch dev(分支名称, 可以随便取)
С помощью приведенной выше команды вы создадите локальную ветку, конечно, ветка создается на основе вашей текущей ветки. Вы можете набрать команду еще раз, чтобы проверить состояние удаленной ветки и локальной ветки (постучать еще, команда скоро запомнится -^〇^-).
5. Удалить локальную ветку
Не влияет на удаленные филиалы склада
git branch -d dev
6. Переключить ветки
После создания локальной ветки мы можем переключиться на эту ветку.
git checkout dev
Операции создания и переключения также можно выполнять вместе:
git checkout -b xxx
(создайте и переключитесь на эту локальную ветку)
7. Опубликовать локальную ветку в удаленной ветке
Когда мы создаем локальную ветку, не спешите начинать программировать в это время, нам нужно опубликовать ветку на удаленном складе, пусть на удаленном складе тоже будет ветка, и связать ее с вашей локальной веткой, что удобно для мы действуем напрямуюgit pull
илиgit push
работать.
git push origin dev
После публикации локальной ветки можно также пройтиgit branch -r
Проверьте, есть ли новые ветки в списке веток вашего удаленного репозитория.
8. Установите связь между локальным филиалом и удаленным филиалом
Нет необходимости связывать локальную ветку с удаленной веткой, но ее можно использовать напрямую в будущем.git pull
илиgit push
Получить или зафиксировать код для этой ветки без указания ветки.
git push --set-upstream origin dev
Если вы не связываете связь между двумя ветвями и используете ее принудительно, вы можете столкнуться с ситуацией, показанной на рисунке, что обычно означает, что вы можете указать целевую ветвь или связать ситуацию с ветвью перед операцией. (Git
Оперативная информация по-прежнему очень дружелюбна)
9. Добавьте файлы в промежуточную область
После выполнения вышеуказанных шагов мы можем начать перемещать кирпичи. После изменения кода, чтобы отправить код на удаленный склад, мы должны сначала добавить код в промежуточную область, затем отправить его на локальный склад и, наконец, отправить на удаленный склад.
- Добавьте файл в рабочей области в промежуточную область, например
src/main.js
файл, затемgit add src/main.js
git add xxx(文件路径)
# 多个
git add xxx(文件路径) xxx(文件路径) xxx(文件路径) ...
- Добавьте все файлы, измененные в рабочей области, в тестовую область.
git add .
Здесь вы можете подумать, зачем сначала добавлять его в промежуточную область, а затем отправлять на удаленный склад после локального склада? если вы из
SVN
Обернувшись, вы можете быть немного не в курсе области временного хранения.Здесь задействовано значение области временного хранения.В Интернете есть много объяснений, поэтому я не буду здесь слишком много объяснять.
Но понять можно просто.Если вы разрабатываете функцию добавления пользователя и функцию добавления статьи во время разработки, то обе функции разрабатываются одновременно, потому что они не влияют друг на друга и полностью независимы, вы хотите разделить их на две представления и написать их отдельно.commit
Информация указывает на то, что область временного хранения может быть использована в это время.Сначала добавьте функцию добавления пользователя в область временного хранения, а затемcommit
Перейдите на местный склад, а затем отправьте функцию добавления статьи и, наконец, вместеpush
в удаленный репозиторий.
10. Удалите файл из промежуточной области.
Если вы по ошибке добавили файл во временное хранилище, не паникуйте, если вы его добавили, то обязательно удалите.
- Удалить файл в рабочей области из промежуточной области
git rm --cached xxx(文件路径)
- Освободите зону временного хранения, зона временного хранения по существу
.git
в каталогеindex
файла, удалите этот файл, то область временного хранения считается опустошенной.
rm .git/index
Конечно, это только удаляет файлы, отслеживаемые в области временного хранения, и не изменяет содержимое исходного файла, а исходное измененное содержимое остается там.
11. Просмотр состояния рабочей области и промежуточной области
Эта команда используется для просмотра состояния рабочей области и промежуточной области.Вы можете увидеть, какие файлы были изменены, а также были ли они помещены в промежуточную среду после модификации или еще не были помещены в промежуточную среду. Этот процесс временного хранения, профессиональное названиеGit tracked
, то есть отслеживаться ли.
git status
На рисунке ниже мы можем просмотреть все измененные файлы.Зеленые файлы были добавлены в область временного хранения, а красные файлы не были добавлены в область временного хранения, и каждый файл имеет соответствующие инструкции по эксплуатации. это новый файлnew file
, модифицированный файлmodified
, который удаляетсяdeleted
, если это новый файл, который не был добавлен в промежуточную область, это не так.
12. Отправьте файл промежуточной области на локальное хранилище.
git commit -m "说明信息"
С помощью приведенной выше команды мы отправим файлы из промежуточной области на локальный склад, мы можем передатьgit status
Еще раз проверьте зону подготовки.
Git
Советы действительно очень дружелюбны.
13. Просмотр записей отправки
Эта команда может отображать отправленные записи.
git log
После входа в список журнала фиксации вы можете нажатьq
покидать.
Приведенная выше команда отобразит все
commit
записи, если вы хотите отобразить самые последние записи, вы можете передатьgit log -n(n为数字, 可以随意指定)
Команда завершена.
14. Отправьте файл локального хранилища на удаленный склад.
git push
Предпосылкой выполнения этой команды является выполнение шага 7.
После отправки файлов локального репозитория в удаленный репозиторий мы снова проверяем журнал коммитов.
15. Вытащите новый код
git pull
Эта команда также устанавливается перед шагом 7.
Расширенное руководство по командам Git
Помните приведенные выше 15 команд,Git
Ежедневные основные операции в основном удовлетворены.Конечно, различные редакторы теперь мощные и в основном интегрированы.Git
Визуальная работа без командной строки вообще не проблема.
Но разве это не здорово, когда программисты используют командную строку? Ни за что другое, просто установить 13 тоже можно, хахаха. Ниже мы поговорим о некоторых командах, хотя они и не часто используются, но также очень важны.
1. Просмотрите глобальную конфигурацию Git
git config --global -l
# or
git config --global --list
2. Просмотрите глобальное имя пользователя и адрес электронной почты.
git config --global user.name
git config --global user.email
3. Установите глобальное имя пользователя и адрес электронной почты.
git config --global user.name "你自己的用户名"
git config --global user.email "你自己的邮箱"
4. Просмотр имени пользователя и электронной почты локального проекта
Для выполнения в текущем корневом каталоге проекта.
git config user.name
git config user.email
5. Установите имя пользователя и адрес электронной почты локального проекта.
Для выполнения в текущем корневом каталоге проекта.
git config user.name "你自己的用户名"
git config user.email "你自己的邮箱"
6. Удалить ветку удаленного склада
Эта команда является очень опасной операцией для некоторых незащищенных ветвей и должна выполняться с осторожностью.
git push --delete origin dev(分支名称)
7. Измените имя филиала удаленного склада.
Процесс изменения имени филиала удаленного склада: сначала изменить имя локального филиала - удалить удаленный филиал - повторно опубликовать локальный филиал на удаленном складе
# 修改本地分支名称
git branch -m 旧分支名称 新分支名称
# 删除远程分支
git push --delete origin 分支名称
# 发布新分支
git push origin 新分支名称
# 重新建立关联
git push --set-upstream origin 新分支名称
8. Объединить ветки
Слияние веток — относительно распространенная операция. Когда вы разрабатываете новые функции в ветке, много раз эти ветки в конечном итоге будут объединены в одну.master/main
В этой основной ветке эта основная ветка имеет код всех веток, она стабильна и работает в производственной среде, поэтому, прежде чем вы решите объединить ветку с основной веткой, убедитесь, что код этой ветки правильный.
# 切换到稳定的目标分支
git checkout master
# 更新最新代码,防止本地仓库对应分支代码不够新而出现问题
git pull
# 合并分支到本地仓库
git merge dev
# 发布合并后的新代码到远程分支
git push
После слияния вы можете пройтиgit log
посмотреть, есть ли родственныеcommit
Записывать.
9. Объедините ветку A напрямую с веткой B
git merge xxx(A分支名称) xxx(B分支名称)
10. Объединить один коммит
Иногда мы просто хотим объединить определенныеcommit
Для удовлетворения некоторых конкретных потребностей это также может быть сделано.
# 切换到稳定的目标分支
git checkout master
# 合并某个commit到本地仓库
git cherry-pick xxx(commitId)
# 发布合并后的新代码到远程分支
git push
commitId
Являетсяcommit
уникальный идентификатор, вы можете передатьgit log
чтобы найти его, это длинная неповторяющаяся строка символов.
Конечно, вы также можете перейти кGithub
илиGitee
Найдите его в соответствующем проекте платформы.
объединить один
commit
Вы можете столкнуться с конфликтными ситуациями, такими как: когда я выполняю слияние определенногоcommit
Сообщил мне об ошибке, которая обычно означает, что код конфликтует и его необходимо скорректировать, прежде чем его можно будет отправить.Конфликт кода - очень болезненная вещь. Не только конфликты возникают при слиянии, но более частый сценарий - это когда несколько человек разрабатывают вместе. Поскольку два человека отвечают за один и тот же проект, велика вероятность того, что они будут изменены на те же файлы, тот же код, который создает конфликт. Обычно на этот раз
Git
Это предотвратит вашу подачу и позволит вам исправиться первым.В это время вам нужно быть очень внимательным и осторожным, потому что если вы будете неосторожны, то очень велика вероятность убить код вашего партнера или ваш собственный код, что повлечет за собой серьезные последствия. (Не спрашивайте меня, откуда я знаю, это все уроки крови ︶︿︶)Я обычно использую такие инструменты, как редакторы, для разрешения конфликтов кода, а не командную строку, которая более удобна и менее подвержена ошибкам. я использую
VS code
Редактор, конфликтующие файлы в редакторе вообще отмечены красным, кликните по файлу, вы обнаружите, что в нем будет написано<<<<
, содержимое, окруженное символом, является местом возникновения конфликта.Редактор обычно предоставляет четыре варианта, которые помогут вам быстро работать, конечно, вы также можете удалить изменения вручную.
- Принять текущее изменение: принять текущее изменение, то есть конфликтующая часть принимает старое.
- Принять входящее изменение: принять входящие изменения, то есть конфликтующая часть принимает новое.
- Принять оба изменения: Принять оба изменения, то есть существуют как старые, так и новые, и могут возникать дубликаты.
- Сравнить изменения: Сравните изменения, они будут разделены на два файла, что позволит вам более интуитивно просматривать конфликтующее содержимое двух файлов.
Когда вы разрешите конфликт, вы можете сохранить файл, а затем выполнить следующие действия, чтобы отправить код.
# 添加更改进入暂存区 git add . # 提交暂存区到本地仓库 git commit -m "" # 提交本地仓库commt到远程仓库 git push
11. Отменить последний коммит
git reset --soft HEAD^
Эта команда используется для отмены самой последней в локальном репозитории.commit
, он вернется в область временного хранения после отзыва.git log
может просматриватьcommit
Записи будут уменьшены, но это не повлияет на удаленные репозитории.
Есть еще один аналогичный отзывcommit
Command, но это более опасно. Контент после отзыва удаляется напрямую, и он не вернется в зону временного хранения. Используйте его с осторожностью! ! !
git reset --hard HEAD^
12. Просмотр кратких записей отправки
Эта команда позволяет просматривать необходимую информацию более интуитивно.
git log --pretty=oneline
На самом деле эта информация хранится в
.git
папка, в.git\logs\refs\heads
Все ветки записываются подcommit
номер версии.
13. Резервное копирование содержимого рабочей области
Это волшебная команда, которая очень полезна, особенно когда много веток проекта, сценарий ее использования примерно таков: когда вы разрабатываете функцию в ветке А, вы временно получаете срочное требование и вам нужно переключиться на разработку в ветке Б. , что мне делать с кодом, который был изменен в ветке А в это время? тогда вы можете использоватьstash
Время сделать резервную копию кода.
git stash
После выполнения команды текущая рабочая область вернется к самой последней.commit
состояние и сохраните измененный код вGit
Таким образом, вы можете сначала переключиться на ветку B для разработки, а затем вернуться к ветке A после завершения разработки функции ветки B. Используйте следующую команду, чтобы получить исходный измененный код и продолжить разработку функции ветки A.
git stash pop
Это не очень приятно! ! !
14. Просмотрите список резервных копий или очистите список резервных копий
- Показать все резервные копии в стеке Git
git stash list
- Очистить стек Git
git stash clear
15. Просмотр адреса удаленного склада
git remote -v
16. Изменить адрес удаленного склада
git remote set-url origin xxx(新仓库地址)
Есть еще два способа изменить адрес удаленного репозитория.
# 删除项目的远程仓库地址
git remote rm origin
# 添加项目的远程仓库地址
git remote add origin xxx(新仓库地址)
или изменить файл конфигурации
17. Сравните все различия между рабочей и промежуточной областью
git diff
Эта команда предназначена для сравнения всех различий между рабочей областью и тестовой областью, но лично мне кажется, что она не очень интуитивно понятна и может использоваться реже.Я предпочитаю использовать инструменты редактора для просмотра сравнения.
Сравните разницу между одним файлом в рабочей области и промежуточной областью:
git diff xxx(文件地址)
18. Восстановите файлы в рабочей области, чтобы они соответствовали промежуточной области.
git checkout xxx(文件地址)
# 批量还原
git checkout xxx(文件地址) xxx(文件地址) xxx(文件地址) ...
Суммировать
Я использую это каждый деньGit
Это команды, хотя я всегда настаивал на использовании командной строки для работыGit
, но он все еще не выносит запаха инструмента.Для решения конфликтов кода, сравнения файлов и других операций я все же предпочитаю использовать функции, интегрированные в инструмент редактора, для его решения, который будет более интуитивным, быстрым и менее подвержены ошибкам. Однако здесь подчёркивается, что суть в команде, а правильное понимание и овладение принесут пользу без вреда, хахаха.
На этом статья закончена, посыпаем цветами и цветами.
Я надеюсь, что эта статья будет полезна для вас. Если у вас есть какие-либо вопросы, я с нетерпением жду вашего сообщения.
Как обычно, лайк + комментарий = ты это знаешь, избранное = ты опытный.