Введение 🏂
В нашей обычной работе,github
Это необходимая платформа для размещения кода, но большинство студентов используют ее только как место для размещения кода и не используют ее разумно.
фактическиgithub
Там много забавных или интересных мест. Конечно, эти советы также могут значительно повысить вашу производительность.
Я разобрал некоторые функции/навыки, которые использую чаще всего, и надеюсь принести некоторую помощь в вашу работу!
Суть 🍓
Многие, возможно, не слышалиGist
. это вgithub
В подкаталогах главной страницы:
Этоgithub
Предусмотрена очень полезная функция.Gist
Как инструмент для вставки данных, таких какPastie
Как и на веб-сайте, данные можно легко вставить вGist
на веб-сайте и ссылки на других страницахGist
данные вставлены в .
так какGitHub
подсайт, естественно,Gist
использоватьGit
Репозиторий поддерживает данные вставки, что очень удобно.
ВойтиGist
На главной странице веб-сайта вы увидите большое диалоговое окно вставки данных.Просто укажите простое описание, имя файла и вставьте содержимое файла, чтобы создать новую вставку.
Каждая новая паста называетсяGist
, и имеет отдельныйURL
.
При создании вставки вновь созданныйGist
страницу, нажмите наembed
Кнопка (Встроить), частьJavaScript
код, будет вышеJavaScript
код, встроенный в веб-страницу, вы можете встроить код с соответствующей веб-страницыGist
данные и поддерживать такие функции, как подсветка синтаксиса.
Создавайте файлы через веб-интерфейс 🍋
В какой-то момент мы можем не захотеть создавать файл локально, а потом передаватьgit
Нажимайте на пульт для создания файлов, так есть ли простой и эффективный способ?
очень просто, поgithub
Показывает, как создается веб-интерфейс (create new file
), чтобы создать его:
поиск файлов 🛵
Иногда мы хотим найти определенный файл в огромном git-репозитории, и если мы смотрим один за другим, это может занять некоторое время (раньше я чувствовал, чтоgithub
Найти файл в репозитории действительно проблематично).
На самом деле, github предоставляет метод быстрого поиска: нажмите клавишу «T» на клавиатуре, чтобы активировать поиск файлов, нажмите ⬆️ и ⬇️, чтобы выбрать файл вверх и вниз, конечно, вы также можете ввести имя файла, который вы ищете чтобы быстро найти.
github cli (командная строка) 🖥
Когда мы фиксируем локальный код вGitHub
После этого вы можетеGitHub
Я видел на веб-сайте различную интерактивную информацию, например, упомянутую другими разработчиками.Issue
, или отправленные запросы на слияние кода и т. д. Но было бы круто, если бы мы могли просматривать и обрабатывать эту информацию прямо в командной строке.
Позвольте мне провести вас от 0 до 1GitHub CLI
Бар!
Установить
установитьGitHub CLI
очень простой.
существуетmacOS
Можно использовать следующееHomebrew
Инструменты для установки:
$ brew install github/gh/gh
# 如果需要更新执行下面的命令即可
$ brew update && brew upgrade gh
существуетWindows
Вы можете установить его с помощью следующей командной строки:
scoop bucket add github-gh https://github.com/cli/scoop-gh.git
scoop install gh
Выполнение непосредственно из командной строки после завершения установкиgh
команду и увидите информацию, показанную на следующем рисунке, это означает, что установка прошла успешно:Для установки на другие платформы обратитесь к официальной документации:https://cli.github.com/manual/installation
использовать
При его использовании нам нужна авторизация:
Ввод ключа Enter в командной строке откроет страницу авторизации в браузере, нажмите Authorize to:Авторизация успешно вернулась в командную строку, мы обнаружили, что черезgh issue list
Заказ был полученissue
Список:
Здесь я перечисляю несколько часто используемых операций.
Создать проблему
Сначала мы отправляем один через CLI.issue
,issue
изBody
нужно пройтиnano
редактировать.
Проблемы с фильтром
issue
Часто в списке слишком много записей, отфильтруйте, указав условияissue
очень распространенное требование:Как показано на изображении выше, он отфильтруетlabel
да动态规划
всеissue
Быстрый просмотр
найди того, кто тебе небезразличенissue
После этого для просмотраissue
конкретную информацию, вы можете использовать следующую команду, чтобы быстро преобразоватьissue
Откроется страница сведений:Затем вы можете открыть веб-страницу, просмотреть и отправить. Конечно, мы также можем выбрать отправку непосредственно из командной строки.
Здесь я просто кратко представляюissue
Несколько связанных общих команд, для большего использования, вы можете проверить официальную документацию, чтобы узнать больше:https://cli.github.com/manual/examples
.
Действия на GitHub 🚀
GitHub Actions
даGitHub
служба непрерывной интеграции.
как правило持续集成
Он состоит из множества операций, таких как очистка кода, выполнение сценариев, вход на удаленные серверы, публикация в сторонних службах и т. д.GitHub
называть эти операцииactions
.
если вам нуженaction
, вам не нужно самому писать сложные скрипты, просто цитируйте то, что написали другиеaction
То есть весь процесс непрерывной интеграции становитсяactions
Комбинация.
GitHub
Сделал официальный маркет, можно искать чужие материалыactions
:Ниже подробно описаны основные концепции и процесс выпуска.GitHub Actions
.
основная концепция
-
workflow
(Процесс): процесс непрерывной интеграции, запущенный один раз, является рабочим процессом. -
job
(задача): Рабочий процесс состоит из одного или нескольких заданий, что означает запуск непрерывной интеграции, который может выполнять несколько задач. -
step
(шаг): Каждое задание состоит из нескольких шагов, которые выполняются шаг за шагом. -
action
(действие): Каждый шаг может выполнять одну или несколько команд (действие) последовательно.
Пример: проект React опубликован на страницах GitHub.
здесь черезGitHub Actions
построитьReact
проект и опубликовать вGitHub Pages
. Окончательный код здесьскладВнутри URL сообщенияhttps://jack-cool.github.io/github-actions-demo/
.
сгенерировать ключ
Поскольку в примере необходимо отправить результаты сборки вGitHub
склад, поэтому требуетсяGitHub
ключ. согласно софициальная документация, сгенерировать ключ. Затем сохраните этот ключ в текущем репозиторииSettings/Secrets
в.Имя переменной среды, которую я использую здесь,ACCESS_TOKEN
.
Создайте проект React
использоватьcreate-react-app
Инициализируйте приложение React:
$ npx create-react-app github-actions-demo
$ cd github-actions-demo
в проектеpackage.json
, добавитьhomepage
Поле (представляет корневой каталог после публикации приложения)
"homepage": "https://jack-cool.github.io/github-actions-demo"
Создание файлов рабочего процесса
в проекте.github/workflows
Каталог, создайте егоworkflow
файл, вотci.yml
.
упомянутый вышеGitHub
Есть официальный маркет, здесь мы напрямую пользуемсяJamesIves/github-pages-deploy-action
:
name: GitHub Actions Build and Deploy Demo
on:
push:
branches:
- master
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
# 拉取代码
- name: Checkout
uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
with:
persist-credentials: false
# 安装依赖、打包
- name: Install and Build
run: |
npm install
npm run-script build
# 部署到 GitHub Pages
- name: Deploy
uses: JamesIves/github-pages-deploy-action@releases/v3
with:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
BRANCH: gh-pages
FOLDER: build
Вот что делает файл конфигурации:
1. Вытащите код. Вот официальное действие GitHub:actions/checkout@v2
2. Установите зависимости и пакет
3. Развернуть наGitHub Pages
. Используются действия от сторонних авторов:JamesIves/github-pages-deploy-action@releases/v3
. Я подробно опишу это здесьaction
:
использоватьwith
Параметры передают в среду три переменные среды:
-
ACCESS_TOKEN
: читатьGitHub
складsecrets
изACCESS_TOKEN
переменная, которую мы установили ранее -
BRANCH
: развернуть веткуgh-pages
(GitHub Pages
читай ветку) -
FOLDER
: Путь файла для развертывания на складе, то есть мы используемnpm run build
Сгенерированный каталог упаковки
❝Здесь следует отметить одну вещь: я использую
❞v3
версия, вам нужно использоватьwith
Параметры передаются в переменные среды и должны быть созданы сами по себе; распространенные учебные пособия в Интернете используютv2
версия, использоватьenv
Параметр передается в переменную окружения, самому строить не нужно, можно использоватьBUILD_SCRIPT
Переменные среды передаются в скрипт сборки.
На этом работа по настройке завершена.
После этого каждый раз, когда у вас есть кодpush
прибытьmaster
При ветвлении,GitHub
начнет строиться автоматически.
Следующая анимация демонстрирует полный процесс отправки кода для сборки:
Поделитесь конкретным кодом 🎯
Обычно у нас может быть очень хорошая строка кода, и мы хотим поделиться ею с другими коллегами, тогда мы можем перейти кurl
добавить после#L 行号
,Например:https://github.com/Jack-cool/rest_node_api/blob/master/app/models/users.js#L17
, эффект следующий:
Если вы хотите поделиться несколькими строками, вы можете перейти кurl
добавить позже как#L 开始行号-L 结束行号
,картинаhttps://github.com/Jack-cool/rest_node_api/blob/master/app/models/users.js#L17-L31
, эффект следующий:
представленныйmsg
Автоматически закрыть тему 🏉
Давайте посмотрим на закрытиеissues
ключевое слово:
- close
- closes
- closed
- fix
- fixes
- fixed
- resolve
- resolves
- resolved
Закрыть задачу в том же репозитории
Если он находится на том же складе, чтобы закрытьissue
, вы можете использовать ключевые слова из приведенного выше списка, а затемissue
нумерованные цитаты.
Например, сообщение фиксации содержитfixes #26
, то как только этот коммит будет объединен с веткой по умолчанию, номер 26 в репозиторииissue
автоматически закроется.
❝Если этот коммит не находится в ветке по умолчанию, то этот
❞issue
не закроется, но под ним будет подсказка. Этот совет подскажет вам, что кто-то добавил коммит с упоминанием этогоissue
, который будет закрыт, если вы объедините его с веткой по умолчаниюissue
.
Закрыть задачи в разных репозиториях
Если вы хотите закрыть другой репозиторийissue
,можно использоватьusername/repository/#issue_number
такой синтаксис.
Например, сообщение фиксации содержитcloses Jack-cool/fe_interview/issues/113
, закроетсяfe_interview
середина113
Нетissue
.
❝Закрыть другие склады
❞issue
Предпосылка заключается в том, что вы будете кодироватьpush
на соответствующий склад
Просмотр данных доступа к проекту 🎃
Под вашим проектом нажмитеInsights
, затем нажмитеTraffic
, есть внутриReferring sites
а такжеPopular content
подробные данные и рейтинги.
вReferring sites
Указывает, с какого сайта все пришли на ваш проект,Popular content
Это означает, какие файлы вашего проекта часто просматриваются людьми.
список задач 📝
Иногда нам нужно пометить некоторые списки дел, чтобы отслеживать, что мы собираемся делать дальше.
Создайте список задач
issues
а такжеpull requests
Вы можете добавить флажки в , синтаксис выглядит следующим образом (обратите внимание на пробелы):
- [ ] 步骤一
- [ ] 步骤二
- [ ] 步骤2.2
- [ ] 步骤2.3
- [ ] 步骤三
Эффект следующий:
обычныйmarkdown
файл можно создать只读
список задач, напримерREADME.md
добавлено вTODO list
:
### 接下来要做的事 🦀
- [x] 数据结构与算法
- [ ] react源码
- [ ] docker
Эффект следующий:
Сортировать задачи
Вы можете изменить порядок списка задач в одном комментарии, установив флажок слева от задачи и перетащив его в новое место.
issues
шаблон иpull request
Шаблон 🍪
❝здесь с
❞issue
пример шаблона,pr
Шаблон похож
этоissue
даю шаблонelement ui
нестиissue
найдено, когда:
существуетGitHub
, сопровождающий кодовой базы предоставляет пользовательскиеissues
шаблон иpull request
Шаблоны позволяют людям целенаправленно предоставлять точную информацию по определенным типам проблем, чтобы в последующем обслуживании можно было вести эффективный диалог и улучшения, а не беспорядочные сообщения.
Создайтеissues
трафарет
- Создайте новый в корневом каталоге кодовой базы
.github
содержание - существует
.github
добавить в каталогISSUE_TEMPLATE.md
файл какissues
Шаблон по умолчанию. при созданииissue
, система автоматически использует шаблон.
Если я создам новый в корневом каталоге проекта.github/ISSUE_TEMPLATE.md
:
## 概述
bug 概述
## 重现步骤
1. aaa
2. bbb
3. ccc
## Bug 行为
Bug 的表现行为
## 期望行为
软件的正确行为
## 附件
附上图片或日志,日志请用格式:
> ```
> 日志内容
> ```
Новое на этом складеissue
Вышеупомянутая предустановка появится, когдаissue
трафарет:
Вики на GitHub 📜
Обычные проекты всех, обычно используютMarkdown
писать проектную документацию иREADME.md
Ждать.Markdown
В целом, он может удовлетворить наши потребности в написании документов, и при правильном использовании эффект тоже очень хороший. Однако, когда проектный документ относительно длинный, опыт чтения может быть не таким идеальным, я думаю, что каждый должен был столкнуться с этой ситуацией.
GitHub
Каждый проект имеет отдельный полныйWiki
страницу, мы можем использовать ее для реализации управления информацией о проекте и предоставления более полной документации по проекту. мы можем поставитьWiki
Являясь важной частью проектной документации, организуйте объемные конкретные документы вWiki
, поместите сжатый, обзорный контент в проект илиREADME.md
внутри.
оWiki
Использование , здесь объясняться не будет, вы можете обратиться к конкретномуофициальная документация
Посмотрите тепловую карту истории коммитов 👨🚀
При просмотре файла вы можете нажатьb
Просматривайте историю коммитов и тепловую карту, показывающую последние изменения для каждой строки. Он сообщает вам, кто зафиксировал каждую строку кода, и предоставляет интерактивную ссылку для просмотра полной фиксации.
❝Посередине есть оранжевая вертикальная полоса. Чем ярче цвет, тем ближе время к изменению.
❞
Подмодули Git и поддеревья Git 👨🌾
Зачем использовать подмодули или поддеревья?
Команды обычно имеют общую кодовую базу,submodule
а такжеsubtrees
Это позволяет нам использовать эти общие коды в разных проектах, чтобы избежать дублирования кода из-за копирования и даже привести к множеству версий одного и того же кода с разными модификациями.
разница
subtree
а такжеsubmodule
цель состоит в том, чтобы использоватьgit
Управление вспомогательным складом, основное различие между ними заключается в том, чтоsubtree
принадлежит подрепозиторию копий, аsubmodule
Принадлежит подрепозиторию ссылок.
использовать
Что касается практики, то официальный документ написан очень четко, и я поставлю ссылку прямо здесь:
-
submodule
:https://git-scm.com/book/en/v2/Git-Tools-Submodules
-
subtree
:https://einverne.github.io/post/2020/04/git-subtree-usage.html
Рекомендация плагина GitHub 🦐
GitHub
Есть много-много плагинов, здесь я рекомендую три плагина, которые я обычно использую.
Octotree
Нам иногда нужноgithub
найти файлы наOctotree
Структура каталогов текущего проекта может отображаться в левой части репозитория, что позволяетgithub
использовать на изображенииWeb IDE
Так же удобно.
isometric-contributions
Это более крутой 3D стерео рендерингgithub
способствовать.
Enhanced GitHub
Этот плагин поддерживает отображение размера репозитория, размера каждого файла и ссылки для скачивания каждого файла в репозитории.
Талисман GitHubOctocat
🦊
хаха это уже интереснее, я только что узналgithub
Также имеет свой талисман.
Вставьте сюдаВеб-сайт, Между прочим, я выбрал несколько очень милых, и вы также можете выбрать несколько выше в качестве своего собственного аватара или чего-то подобного.
Ссылаться на
- Преподаватель Руан Ифэн «Учебник по началу работы с GitHub Actions»
Любовное тройное комбо❤
1. Если вы считаете, что контент полезен для вас, добро пожаловатьдолябольше друзей.
2. Подпишитесь на официальный аккаунтпередний лес, регулярно снабжаем вас свежими и галантереями и хорошими товарами.
3. Добавьте WeChatfs1263215592, пригласите вас в группу технического обмена, чтобы учиться вместе 🍻