Автор любит говорить
В начале августа в Ханчжоу становится все жарче и жарче, но глядя на яркую погоду, я все еще в хорошем настроении.
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-7ea16f6d18a161fd343d2b50db067b1dbd31e589ca26e43c321f57579685e72f62f52cb5.jpg)
Недавно я смотрел "Summer of the Band" и был безумно восхищен группой Muma Trojan Horse Band, солист группы Му Ма сказал: "Троянский конь похож на игрушку, которую мы сломали, и теперь она у нас есть, она это новый троянский конь (предыстория: троянцы Muma распались)
Внезапно я вспомнил группу, которую я сформировал с несколькими старшеклассниками в моем университете.Репетиция в подвале все еще была очень простой и счастливой, но, пожалуй, самым большим сожалением университета было то, что я не остался с группой до конца.
Говоря о троянском коне Muma, после прослушивания песни Muma Trojan Horse "King of the Old City" я чувствую, что лирика очень интересная и очень абстрактная. На Zhihu многие говорят, что лирика намеренно составлена, но я все же думаю, что у автора есть своя Идея противостояния времени в искренней и игровой форме
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-6a8a6c71bcd972c3d509154896f06af18353f5aab9741878bccbef0650c654e68d4c923e.png)
Все процветание ушло, и один человек - это король. Он теряет свои шлемы и доспехи в джакузи времена, но мы никогда не забываем, что герои мы часто фантазируемся о фактическом живете в наших сердцах -Мами
Введение в Git
Менеджер Ван🤓: Хао Мэйли, почему ты не отправил в ветку написанный на прошлой неделе код?
Сяомей: Менеджер, маленькая черепаха была брошена, мне так жаль его. вууху
![小美的乌龟](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-fc4f12e266fb534459da42f9ac32dc239e30b378fa83c619dc3962a55b2a91a58c59d54a.png)
Менеджер Ван: ? ? ?
Кобаяши: 😍😍😍😍😍
Менеджер Ван посмотрел на жалкие глаза Сяомея и почувствовал, что Сяомей действительно должен пожалеть черепаху: «Кашель, чтобы позаботиться о Сяомей, давайте сегодня поговорим о том, как позаботиться о Сяомей.использовать git в идее, всем открыть нашу идею и клонировать этот проект, адрес проекта такой https://github.com/maerduduqi/тест
Хао Мэйли: Менеджер, вы слишком добры, не обижайте черепах, начните с нас
Менеджер Ван: эммм
Менеджер Ван: Лин Будун, я попросил вас открыть идею, почему вы открываете Google Chrome?
Xiaolin: Менеджер, разве вы не назвали меня проектом клонирования? Я скачаю проект, разархивирую его и открою по идее.
1. Клонируем проект в Idea
Менеджер Ван: В моем воображении вы глупы и превзошли все мои ожидания.
Мы можем открыть наш проект прямо в Idea
нажмитеFile -> New -> Project From Version Control
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-f56969ea61179057e2c89b32ad16f60429365971a70437e452b2ef84f6a05091797f6c06.png)
хорошо, теперь этот проект был клонирован нами
Менеджер Ван: Позвольте задать вам вопрос: какова главная цель использования Git?
Хао Мэйли и Линь Будун: Никакого кариеса! (Можете ли вы получить этот стебель 😂)
2. Подтвердите и протолкните идею
Менеджер Ван: Да, то есть отправить код, который мы написали, для совместной работы с другими, то естьcommit and push, Использовать эту операцию в Idea тоже очень просто
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-8c5a1c57f2c7e3af20ea33b90989f2d59070cdc0bf9ab2605e8594fb3b572d6415f6b5f8.png)
Кобаяши: Менеджер, я вас прерву: файл только синий и красный? "Есть ли зеленый? Мне больше всего нравится зеленый. Сяомей сказал мне, что если ты хочешь жить хорошей жизнью, на твоем теле должно быть немного зеленого. Я думаю, что слова Сяомея очень разумны.
Менеджер бросил вопросительный взгляд на Кобаяши.
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-56127f960ae4dc779d0c94dae387e7a4ecd06c876ed27293ccc569f631a0aa93a70003c8.png)
Зеленый действительно, и серый и белый
- Зеленый означает, что файл кода добавлен в систему контроля версий, но еще не отправлен.
- Белый означает, что файл кода добавлен в систему контроля версий, отправлен, изменений нет.
- Серый: представляет, что файл кода является файлом, который был проигнорирован по контролю версий
Ответьте на подачу документов
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-f13d9f5d0d374c6702803e69a3fcfecb153be83ff8b622b767d0d715c28771938078361d.png)
Lin Budong: Ха-ха-ха, это так просто, разве этого недостаточно?
Менеджер Ван: Остался еще один последний шаг, и толчок прошел успешно.
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-acf9359d79135b1765009a5599263eba13ac14e699023e0b06d00bdc61c3acbbb1d222c0.png)
Менеджер Ван: хорошо, мы успешно протолкнули
3. Просмотрите запись коммита в Idea
Линь Буддун: Менеджер, я хочу посмотреть, что отправила Сяомей, как мне это увидеть?
Менеджер Ван: Это тоже очень просто, следите за мной действовать
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-7f20b07bcd87c2d808736eba5fc2a0cd48c2f5de8bb2139be4d374120f0845b73a7721d8.png)
Сяолинь: что, Сяомей сказал, что я дурак, можно яотозвать этот коммит?
Мистер Ван: Да. До тех пор, пока это можно отозвать
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-2eb019f94fb9cb26a92446969c155b41cae5efae9c2df8d5f0ee0111875607afc32f3748.png)
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-04e95559342c2cd8e3dfe5dc9a73a023e74c893e4dbc0cf898c5db1387b928a67d264f58.png)
4. Разрешение конфликта в Идее
Кобаяши: Это может сделать менеджер. Менеджер, вы можете показать мнеКак идея решает сценарии симуляции конфликтов
Г-н Ван: Конечно.
Если предположить, что другой разработчик разрабатывает тот же проект и пишет тот же файл, рабочий процесс выглядит следующим образом:
Программист 1.01 сначала загружает файл конфликт.txt и продолжает писать код в конфликте.txt;
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-24852a30ddcf002a4c468a8661fa100ad5b84444fe9393cfed4007d462f020607999db41.png)
Programmer 2.02 обновляет код проекта, записывает код в конфликт.txt.После написания отправляет на удаленный сервер;
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-d0209c4a20b3d5d84f5cadebd5af0ee8c11cd296a70ade2f7c3aa91db07146a265ac80bb.png)
3. Когда программист № 01 закончил писать и готов отправить код, нормальный метод работы в это время заключается в обновлении и отправке в первую очередь, но во время обновления неизбежно возникнет конфликт, потому что обновленный код конфликтует.txt по адресу на этот раз с локальным складом. Код конфликта.txt несовместим
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-f3b95bc8426707604993a68afaaaeb18e50076c3d4b9b1258e3052ba4f63e4d19cef53ea.png)
Перед отправкой хочу обновить, конфликт:
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-74fa682c3f97769db402332242667fbd0122317aa9cb485be72a3207b61b04ecd4cd011e.png)
Решение выглядит следующим образом:
- принять свое: представитель подчиняется своему;
- принять терис: представитель подлежит обновленному документу;
- слияние: представляет ручное слияние
- Как правило, для разрешения конфликтов мы выбираем объединение
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-c8d5dffeb6cdd1b94c044d5f7116cc41056aba9c427ab27e3797d15c8b9c2a03cc31406b.png)
Щелкните необходимое содержимое: «>>», чтобы объединить содержимое в результат, щелкните «x» для нежелательного содержимого и нажмите «Применить» после завершения объединения.
Стоит отметить, что все символы «x >>» должны быть обработаны, нажмите «x», если он вам не нужен, и нажмите «>>», если он вам нужен.
Сяолин: потрясающий, менеджер 🤤
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-be95f04d5edca635fb77e181b09028a7fa48e91e6df1dae6c534850ce3315223a48bfee5.png)
Сяомей: Менеджер, я тоже хочу задать вопрос
Менеджер Ван: Спроси, я никого не узнаю
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-cbb90d2847ae223e9bfc935190c28d1180f63944809660ceed00982fcc23c7b015489ad7.png)
5. Используйте ветки в Idea
Сяомей: Не могли бы вы научить меня использовать ветки git в Idea?
Менеджер Ван: Это проще простого, а потом я дам вам симуляцию.Создавать и объединять веткиСцены (Выдержка из статьи автора, со ссылкой на оригинальный текст в конце статьи)
1. Разработайте веб-сайт.
2. Создайте ветку (с именем: iss53) для реализации нового требования и проблемы (issue #53).
3. Работайте над этой веткой.
В этот момент вам неожиданно звонят и сообщают, что возникла серьезная проблема, которую необходимо срочно устранить. Вы будете действовать следующим образом:
1. Переключитесь на свою производственную ветку.
2. Создайте новую ветку (название: исправление) для этой срочной задачи и исправьте там.
3. После того, как тест пройден, переключитесь обратно на ветку онлайн (с именем: master), затем объедините ветку с исправлениями и, наконец, отправьте изменения в ветку онлайн и удалите ветку исправления.
4. Вернитесь к ветке, над которой вы изначально работали (iss53), и продолжите работу.
5. После того, как проблема с iss53 будет решена, слейте ее с мастер-транком и удалите ветку iss53.
Когда мы решаем выполнить новое требование,Как создать новую ветку?
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-d8c5df3e03825fe641abee1e5b6ba987a16fe53fd5b14806dd546e0b376df30bd75353dd.png)
Заполните название филиала
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-cb09593d22b045eed457933fb3c3f7980bb4f87aa9840498dd0d754acf6bf8faaf1ee4d8.png)
Развивайте на ветке iss53 следующим образом
Отправьте ветку в удаленный репозиторий
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-327042bd968c338f09abe49fad943dee9dc3eff99b199f196a477cb6d3a390f2cdaae9c0.png)
Нажмите push, чтобы отправить на удаленный склад
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-02fdb8bed4a85a8e5fbb7935eabdce967478516457f93919e6bbf76a857df64c013a5d8d.png)
Филиалы продвигаются вперед по мере выполнения работ
Теперь вы получаете этот звонок, и есть неотложная проблема, ожидающая вашего решения.
С помощью Git вам не нужно смешивать эту срочную проблему с изменениями iss53,
Вам также не нужно прилагать большие усилия, чтобы отменить изменение в проблеме 53#, затем добавить изменение в эту срочную проблему и, наконец, зафиксировать это изменение в действующей ветке. Все, что вам нужно сделать, это вернуться к основной ветке.
Операция над идеей выглядит следующим образом:
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-4d92d4407c2a1963c4269196af13d870e470225ff889ab429f4bfd395d2fb0237f88850f.png)
Специальное примечание. Прежде чем сделать это, следите за незафиксированными изменениями в вашем рабочем каталоге и области подготовки, которые могут конфликтовать с извлекаемой веткой и не позволять Git переключиться на эту ветку. Лучший способ — сохранить чистое состояние перед переключением веток.
Есть способы обойти это (например, спрятать и внести изменения).
На данный момент ваш рабочий каталог точно такой же, как и до запуска #53, и теперь вы можете сосредоточиться на исправлении неотложных проблем.
Помните: когда вы переключаете ветки, Git сбрасывает ваш рабочий каталог, создавая впечатление, что он вернулся к последнему коммиту, который вы сделали в этой ветке.
Git автоматически добавит, удалит и изменит файлы, чтобы убедиться, что ваш рабочий каталог выглядит точно так же, как при последнем коммите ветки.
Далее вы хотите исправить эту срочную проблему. Постройте филиал (филиал для исправлений) для срочных проблем, работают, пока проблема не будет решена в филиале:
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-a6cf78fcf5e33ace98486b519e0082032b83fcff0e926eb67fc43859c6657cc1b7884213.png)
Разработка кода ведется на хотфиксе ветки актуальной проблемы на основе основной ветки, а симуляция выглядит следующим образом:
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-930cc422f15008ad0634963f257ea8f47a7a983491781d2f76ebd05cf3971576ab026646.png)
Вы можете запустить свои тесты, убедиться, что ваши изменения верны, а затем отправить код в удаленный репозиторий.Операция отправки в удаленный репозиторий аналогична отправке операции iss53.
Когда будет разработана ветка исправлений для этой неотложной проблемы, объедините ее с основной веткой, чтобы развернуть ее в сети. Вы можете использовать git merge идеи для вышеуказанной цели:
Сначала переключитесь на мастер
Затем объедините исправление с мастером в качестве основной линии, это очень важно, потому что мастер является основной строкой, слейте код исправления в мастер, не меняйте порядок
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-4a6db424a321ee29044ec70b364649d6c9e43b77a2ed387e623a66306468abc76089e4d1.png)
Затем слить хотфикс с мастером как основную строку.Это очень важно, т.к. мастер является основной строкой, а код хотфикса слит в мастер, и не возвращать заказ.
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-c19c073c7214a6f8de7809b8b7b2bd05808232751733bc6f0ad6d1af8d21115f173606ca.png)
Теперь последние изменения были отправлены в отправленном снимке, указывающем на ветку master, это то, что вам нужно только отправить Master на удаленный склад (очень важно, не забудьте), вы можете начать ремонт.
Когда мы успешно объединились с основной основной линией, мы должны удалить исправление ветки.
Удалить исправление ветки локального склада
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-f3ad99058ee48b09867487def2740416770a989c663ee3fe8d6f135400f363fe57ccad67.png)
Удалить исправление ветки удаленного склада
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-ab94eb02e0c17c33107228c3f12e4180b42ccb3a17d91f774216975d8075cad1f0e06ad4.png)
После удаления вернитесь в нашу ветку
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-e8b1b888064e4d8d5715d16b4ebb27b2608096b539d5439d78e6f241b03580114b66f630.png)
Продолжайте писать код на ветке iss53
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-8cfe1c54f0f0ad3fed1f30adae08a89f9f1e36c3cde5be89b2e22dcbfca7ed69e1c56cf7.png)
в заключении
Мистер Ван: Где крики?
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-3bc579d12193d3e621bbc81242c5620ff039d60e05629b6fb13f59d15f26b14fc32a1f62.png)
Сяолинь: Кого волнует, закончишь ли ты учебу, пора уходить с работы
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-507d2107dcd1394ab0c87c84bf225d271556d0237139a945cf6f229e6eb626424ac43b03.png)
Навыков использования Git в Idea определенно больше, чем просто немного.Я надеюсь, что каждый может учиться по аналогии, пробовать больше и нажимать каждую кнопку.
В конце концов, Лу Синь сказал: git — это вещь, вы узнаете это, если будете использовать ее больше.
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-ff4241ce7c7cca71b8815883f8c3428d0c935525fbd879b8ec8c4e7059c1ffb9a70b8fdf.png)
Справочная статья: https://www.cnblogs.com/newAndHui/p/10846276.html
![](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-f6be0a6a5a056eda4a4552a37143b04e59bc22be7aeef189d3ab15de526560c7d77d432d.png)