Как запустить программу через git bash

Предлагаю вашему вниманию небольшую шпаргалку по основным командам bash, git, npm, yarn, package.json и semver.

Условные обозначения: [dir-name] — означает название директории, | — означает «или».

Рекомендую вводить каждую команду в терминале и внимательно изучать вывод, так вы быстро их запомните и определите, какие команды вам нужны, а какие нет.

Приношу извинения за возможные ошибки и опечатки. Буду рад любым замечаниям и предложениям.

Без дальнейших предисловий.

bash

bash представляет собой инструмент командной строки, позволяющий выполнять некоторые распространенные действия.

Установка: в моем случае bash был установлен вместе с git.

help
history
clear

Выход из терминала:

exit
// make directory mkdir [dir-name] // пример mkdir my-app // несколько диреторий mkdir -p // несколько вложенных директорий mkdir -p my-app/
// change directory cd [dir-name] // пример cd my-app // сразу после создания cd !$ // родительская директория cd .. // на два уровня выше cd ../.. // предыдущая директория cd — // домашняя директория cd ~

Путь к текущей директории:

Git Bash Windows Tutorial for Beginners | Part 1


// print work directory pwd
// list ls // включая скрытые файлы ls -a | -f // больше информации // например, права доступа ls -l
touch [file-name] // пример touch index.html // несколько файлов touch my-app/
cat [file-name] // пример cat index.html // сортировка и выборка уникальных значений cat [file-name] | sort | uniq // меньше контента less [file-name] // q — exit // n строк с начала файла head -50 [file-name] // n строк с конца файла tail -50 [file-name] // поиск слова grep [string] [file-name] // распаковка и просмотр содержимого архива unzip [achive-name] // тип файла file [file-name]

Копирование, перемещение и удаление файла:

// copy cp [file1] [file2] // move mv [file1] [file2] // пример // перемещение всех файлов из одной директории в другую mv [dir1]/*.* [dir2] // remove rm [file-name] // удаление пустой директории rmdir [dir-name] // удаление непустой директории rm -r [dir-name] // или rm -rf [dir-name]

Вывод в терминал строки:

echo [string] // пример echo hello // создание или перезапись файла echo hello > greet.txt // добавление строки в файл echo hello >> greet.txt
wget [url]
true echo hello false || echo hello echo hello ; ls
// количество переносов строки — n cat [file] | wc -l

git

git представляет собой распределенную систему контроля версий, позволяющую контролировать процесс внесения изменений в проект.

git —version
git help git help [command-name] git [command-name] —help | -h
// список глобальных настроек git config —list | -l —global // редактирование глобальных настроек git config —global —edit | -e
git init
// -d — включая директории, -x — включая игнорируемые файлы, -f — принудительная git clean | -dxf

Удаление файлов и директорий:

// remove git rm [file-name] git rm -r [dir-name] git rm —force | -f
// git add + git remove // move git mv [old-file] [new-file]

Просмотр состояния репозитория:

Урок по Git, Github | Учимся пользоваться консолью git bash


git status
git add [file-name] git add —force | -f // все файлы git add . | —all | -A // для добавления пустой директории можно создать в ней пустой файл .gitkeep

Добавление сообщения (коммита):

// редактирование коммита git commit // коммит для одного изменения, если не выполнялось git add . | -A // если выполнялось, сообщение будет добавлено для всех изменений git commit —message | -m «My Message» // для всех изменений, если git add [file-name] выполнялось несколько раз git commit —all | -a -m | -am «My Message» // исправление коммита git commit —amend «My Message» | —no-edit
// последний коммит git show // другой коммит git show [hash] // минимум первые 4 символа // поиск изменений по сообщению или части сообщения git show :/[string] // поиск коммита по тегу git show [tag-name]

Просмотр разницы между коммитами:

Просмотр истории изменений:

git log // n — количество изменений git log -n // —since, —after — после // —until, —before — до // разница git log -p // быстрое форматирование git log —graph —oneline —stat // кастомное форматирование git log —pretty=format // пример git log —pretty=format:’%C(red)%h %C(green)%cd %C(reset)| %C(blue)%s%d %C(yellow)[%an]’ —date=short | format-local:’%F %R’ // поиск изменений по слову, файлу, ветке; i — без учета регистра git log —grep | -G [string] | [file] | [branch] [dir] // просмотр git remote git remote show git remote add [shortname] [url] git remote rename [old-name] [new-name] // получение изменений // git fetch + git merge git pull // отправка изменений git push
// просмотр git tag // легковесная метка git tag [tag-name] //пример git tag v1-beta // аннотированная метка git tag -a v1 -m «My Version 1» // удаление git tag -d [tag-name]
git bisect git blame git grep

Читайте также:
Какая программа открывает файлы xsd

Сохранение незакоммиченных изменений:

// сохранение git stash // извлечение git stash pop
git cherry-pick | -x [hash] // если возник конфликт // отмена git cherry-pick —abort // продолжить git cherry-pick —continue git cherry-pick —no-commit | -n // —cherry = —cherry-mark —left-right —no-merges git log —oneline —cherry [branch1] [branch2]
git rebase [branch] // при возникновении конфликта // отмена git rebase —abort // пропустить git rebase —skip // продолжить git rebase —continue // предпочтение коммитов слияния git rebase —preserve-merges | -p // интерактивное перебазирование git rebase -i [branch]

Автозавершение повторных конфликтов:

// rerere — reuse recorder resolution // rerere.enabled true | false // rerere.autoUpdate true | false // rerere-train.sh — скрипт для обучения rerere git rerere forget [file-name]

Пример алиасов (сокращений) для .gitconfig:

[alias] aa = add -A co = checkout ci = commit -m st = status br = branch
Пример .gitconfig:
Пример .gitignore:

### Node ### # Logs logs npm-debug.log* yarn-debug.log* yarn-error.log* # Optional npm cache directory .npm # Dependency directories /node_modules /jspm_packages /bower_components # Yarn Integrity file .yarn-integrity # Optional eslint cache .eslintcache # dotenv environment variables file(s) .env .env.* #Build generated dist/ build/ # Serverless generated files .serverless/ ### SublimeText ### # cache files for sublime text *.tmlanguage.cache *.tmPreferences.cache *.stTheme.cache # workspace files are user-specific *.sublime-workspace # project files should be checked into the repository, unless a significant # proportion of contributors will probably not be using SublimeText # *.sublime-project ### VisualStudioCode ### .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json ### Vim ### *.sw[a-p] ### WebStorm/IntelliJ ### /.idea modules.xml *.ipr *.iml ### System Files ### *.DS_Store # Windows thumbnail cache files Thumbs.db ehthumbs.db ehthumbs_vista.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Thumbnails ._* # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent

npm

npm представляет собой пакетный менеджер, позволяющий устанавливать зависимости проекта.

npm устанавливается вместе с Node.js.

Также вместе с Node.js устанавливается npx, позволяющий запускать исполняемые файлы без установки: npx create-react-app my-app.

node —version | -v npm —version | -v

Список доступных команд:

npm help npm help [command-name]
npm init // auto npm init —yes | -y
npm install | i // проверка конкретной зависимости npm explore [package-name] // проверка всех зависимостей npm doctor // очистка npm ci

Принудительная переустановка зависимостей:

npm i —force | -f

Установка только продакшн-пакетов:

npm i —only=production | —only=prod

Добавление зависимости для разработки:

npm i —save-dev | -D [package-name] // пример npm i -D nodemon
npm update | up [package-name]
// dependency npm remove | rm | r [package-name] // devDependency npm r -D [package-name]

Глобальная установка/обновление/удаление пакета:

npm i/up/r -g [package-name] // пример npm i -g create-react-app // использование create-react-app my-app

Определение устаревших пакетов:

npm outdated npm outdated [package-name]

Список установленных зависимостей:

npm list | ls // top level npm ls —depth=0 | —depth 0 // global + top level npm ls -g —depth 0

Информация о пакете:

npm view | v [package-name] // пример npm v react npm v react.description

Запуск скрипта/выполнение команды:

npm run [script] // пример // package.json: «scripts»: < «dev»: «nodemon server.js» >npm run dev // script start или node server.js npm start npm stop

Удаление дублирующихся пакетов:

npm dedupe | ddp

Удаление посторонних пакетов:

npm prune

Обнаружение уязвимостей (угроз безопасности):

npm audit // json npm audit —json // plain text npm audit —parseable

Автоматическое исправление уязвимостей:

npm audit fix

yarn

yarn, как и npm, представляет собой пакетный менеджер, позволяющий устанавливать зависимости проекта.

npm i -g yarn

Команда «yarn dlx» позволяет запускать исполняемые файлы без установки: yarn dlx create-react-app my-app. Для этого yarn необходимо обновить до второй версии: yarn set version berry.

yarn —version | -v
yarn set version latest

Список доступных команд:

yarn help yarn help [command-name]
yarn init // auto yarn init —yes | -y // «private»: true в package.json yarn init —private | -p // auto + private yarn init -yp
yarn // или yarn install // тихая установка yarn install —silent | -s // проверка yarn —check-files

Принудительная переустановка зависимостей:

yarn install —force

Установка только продакшн-пакетов:

yarn install —production | —prod

Добавление зависимости для разработки:

yarn add —dev | -D [package-name] // пример yarn add -D nodemon
yarn upgrade [package-name]
yarn remove [package-name]

Глобальная установка/обновление/удаление пакета:

yarn global add/upgrade/remove [package-name] // пример yarn global add create-react-app // использование create-react-app my-app

Список установленных зависимостей:

yarn list // top level yarn list —depth=0 | —depth 0

Информация о пакете:

yarn info [package-name] // или yarn why [package-name] // пример yarn info react yarn info react description yarn why webpack

Запуск скрипта/выполнение команды:

yarn [script] // или yarn run [script] // пример // package.json: «scripts»: < «dev»: «nodemon server.js» >yarn dev

Читайте также:
Парциальные программы дошкольного образования список

package.json

  • name — название проекта
  • version — версия проекта (см. версионирование)
  • description — описание проекта (зачем нужен пакет?)
  • keywords — ключевые слова (облегчает поиск в реестре npm)
  • private — установка значения в true предотвращает случайную публикацию пакета в реестре npm
  • main — основная точка входа для функционирования проекта
  • repository — ссылка на репозиторий (один из вариантов)
  • author — автор проекта (один из вариантов)
  • contributors — участники проекта (люди, внесшие вклад в проект)
  • dependencies — зависимости проекта (пакеты, без которых приложение не будет работать)
  • devDependencies — зависимости для разработки (пакеты, без которых приложение будет работать)
  • scripts — команды (выполняемые сценарии, задачи), предназначенные для автоматизации, например, команда «yarn dev» запустит скрипт «nodemon server.js»

Файлы «package-lock.json» и «yarn.lock» содержат более полную информацию об установленных пакетах, чем package.json, например, конкретные версии пакетов вместо диапазона допустимых версий.

Версионирование

Каждый пакет имеет версию, состоящую из трех цифр (например, 1.0.0), где первая цифра — мажорная версия (major), вторая — минорная версия (minor), третья — патчевая версия (патч, patch). Выпуск новой версии называется релизом.

Увеличение каждой из этих цифр согласно правилам семантического версионирования (semver) означает следующее:

  • major — внесение несовместимых с предыдущей версией изменений
  • minor — новая функциональность, совместимая с предыдущей версией
  • patch — исправление ошибок, незначительные улучшения

Источник: habr.com

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

guides / git-terminal / git-terminal.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Cannot retrieve contributors at this time
304 lines (198 sloc) 18.4 KB

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents Copy raw contents

Copy raw contents

Git. Краткое руководство по терминалу

  • Git. Краткое руководство по терминалу
  • Введение
  • Открытие терминала
  • Linux
  • Mac
  • Windows (Git Bash)
  • Первоначальная настройка Git
  • Текущий рабочий каталог
  • Смена рабочего каталога
  • Листинг каталога
  • Создание файлов
  • nano
  • Vim
  • VS Code
  • Важность консольных сообщений
  • Выход из программы вывода текста
  • Копирование/вставка
  • «Короткий путь»

Данное краткое руководство демонстрирует основные команды в терминале Bash:

  • Bash (Linux/Mac)
  • Git Bash (Windows)

Первая задача: открыть терминал сразу в нужном каталоге.

В Linux достаточно щёлкнуть правой кнопкой мыши на каталоге и выбрать пункт меню Open in Terminal или Открыть в терминале :

В Mac всё немного сложнее, необходимо настроить отображение этого пункта меню в Finder.

Для этого необходимо перейти в Системные настройки , затем пункт меню Клавиатура , в разделе Службы выбрать раздел Файлы и папки и поставить флажок напротив Новый терминал по адресу папки :

После чего при клике правой кнопкой мыши на каталоге появится необходимый пункт меню:

Windows (Git Bash)

В Windows всё достаточно просто — клик правой кнопкой мыши на каталоге и выбор Git Bash Here :

Первоначальная настройка Git

После установки Git первое, что мы сделаем — укажем наши имя и адрес электронной почты. Это важно, потому как этой информацией подписывается каждый коммит (кто сделал изменения и его электронная почта). Для настройки потребуется ввести команды:

Если указана опция —global , настройки применятся глобально, то есть для всех ваших действий в системе Git. Без этой опции настройки применяются локально, для текущего репозитория, и не влияют на глобальные настройки.

Одно окно терминала подразумевает, что вы можете в один момент времени находиться только в одном каталоге, который называется Current Working Directory (текущий каталог), так же как и в одном открытом окне Nautilus , Finder или проводника Windows.

Вы можете выполнять команды относительно текущего каталога или относительно абсолютного пути.

Абсолютный путь — это путь, начинающийся от корня файловой системы. Корень файловой системы обозначается символом / .

Например, в Git Bash (Windows) абсолютный путь для каталога Program Files , будет чаще всего выглядеть следующим образом: /c/Program Files/ .

Для домашнего каталога в Ubuntu (Linux), абсолютный путь будет выглядеть следующим образом: /home/user/ , где user — имя пользователя.

Bash (Git Bash в том числе) используют символ / для разделения каталогов.

Ещё два специальных обозначения помимо корня файловой системы:

  • . — обозначает текущий каталог;
  • .. — обозначает родительский каталог.

Важно: в терминале символ (пробел) является символом, разделяющим команды и опции. Поэтому если в пути есть пробел, то варианта два:

  • заключать путь в кавычки, то есть «Program Files» ;
  • использовать символ backslash для экранирования пробела: Program Files .

Командная оболочка устанавливает ряд переменных, которые выполняют специфические функции. Так, переменная с именем PATH содержит список путей, в которых будет производиться поиск программы, если вы наберёте её название в терминале.

Читайте также:
Что совокупность всех программ компьютера

Для вывода содержимого конкретной переменной используется команда echo следующим образом:

$ echo $PATH

Команда printenv позволяет отобразить все переменные окружения:

$ printenv

Видно, что в переменных окружения содержится достаточно много информации о системе.

В командных оболочках работает автодополнение по клавише Tab :

  • дополняются имена команд;
  • дополняются пути.

Используйте автодополнение, так как оно позволяет сократить время на набор команды.

В этом разделе будут описаны ключевые команды, необходимые нам для работы. Естественно, список этот далеко не полный.

Текущий рабочий каталог

pwd — сокращение от «Print Working Directory».

Отображение текущего рабочего каталога:

Смена рабочего каталога

cd — сокращение от «Change Directory».

Переход в определённый каталог:

$ cd path>

path может быть как абсолютным, так и относительным путём.

Например, перейти на каталог выше:

Перейти в подкаталог src :

$ cd src

Если перед путём нет слеша — он трактуется как относительный (относительно текущего каталога).

ls — сокращение от «List».

Отображает листинг (содержимое каталога):

По умолчанию, ls не отображает файлы, начинающиеся с . , например, .gitignore . Для отображения таких файлов нужно использовать флаг -a :

$ ls -a

Для создания файлов используются специальные программы (например, для создания текстовых файлов — текстовые редакторы).

В рамках рассмотрения Bash мы рассмотрим два текстовых редактора, которые позволят вам создавать и редактировать файлы в псевдографическом режиме.

nano — простой текстовый редактор.

Для того, чтобы создать файл достаточно ввести команду nano и имя файла:

$ nano README.md

Откроется редактор следующего вида:

Пункты меню в нижней части вызываются с помощью горячих клавиш, где символ ^ обозначает клавишу Ctrl .

То есть чтобы записать файл и выйти следует последовательно нажать Ctrl + O (запись) и Ctrl + X (выход).

Редактор nano установлен в большинстве Unix-подобных операционных системах и Git Bash.

Редактор Vim (a programmer’s text editor) — профессиональный редактор, позволяющий достичь максимальной производительности при работе с любыми текстовыми файлами. Настолько популярен, что для любой графической среды (IDE, текстовых редакторов вроде VS Code, Atom, Sublime) всегда есть плагин, включающий возможность редактирования кода в режиме «Vim Mode».

На освоение работы в Vim нужно потратить достаточно много времени, для этого вы можете воспользоваться интерактивным учебником vimtutor :

$ vimtutor

Git Bash

По сути Git — это набор служебных программ командной строки, предназначенных для выполнения в Unix-подобных средах. Современные операционные системы, такие как Linux и macOS, имеют встроенные терминалы командной строки. Благодаря этому они особенно удобны для работы с Git. В Microsoft Windows используется командная строка Windows, отличная от терминала Unix-систем.

В средах Windows система Git часто упаковывается в виде части высокоуровневого приложения с графическим интерфейсом. Графические интерфейсы для Git могут абстрагировать и скрывать базовые компоненты системы контроля версий, которая лежит в основе. Это отличное подспорье для новичков в Git, чтобы они могли быстро внести свой вклад в проект.

Но когда требования повышаются и предполагается работа с остальными членами команды, необходимо понимать принципы работы исходных методов Git. Тогда может быть выгодно отказаться от версии с графическим интерфейсом в пользу инструментов командной строки. Интерфейс терминала Git предлагается в приложении Git Bash.

Что такое Git Bash?

Git Bash — это приложение для сред Microsoft Windows, эмулирующее работу командной строки Git. Bash — аббревиатура от Bourne Again Shell. Оболочка (Shell) представляет собой приложение терминала для взаимодействия с операционной системой с помощью письменных команд. Bash — популярная оболочка, используемая по умолчанию в Linux и macOS. Git Bash представляет собой пакет, который устанавливает в операционную систему Windows оболочку Bash, некоторые распространенные утилиты Bash и систему Git.

Установка Git Bash

Git Bash поставляется в составе пакета Git For Windows. Скачайте и установите Git For Windows, как любое другое приложение для Windows. После загрузки найдите входящий в состав пакета файл .exe и откройте его, чтобы запустить Git Bash.

Использование Git Bash

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

Bash-команда pwd используется для вывода пути к текущему рабочему каталогу. Команда pwd эквивалентна выполнению команды cd в терминале DOS (или в консоли Windows). Это папка или путь для текущего сеанса Bash.

Bash-команда ls используется для вывода списка содержимого текущего рабочего каталога. Команда ls эквивалентна команде DIR в консоли Windows.

И оболочка Bash, и консоль Windows поддерживают команду cd . Команда cd представляет собой акроним от «Change Directory» (сменить каталог). Команда cd вызывается с добавлением в качестве аргумента имени каталога. При выполнении команды cd происходит смена текущего рабочего каталога сеанса терминала на каталог, переданный в виде аргумента.

Команды Git Bash

Готовы изучить Git?

Ознакомьтесь с этим интерактивным обучающим руководством.

Источник: www.atlassian.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru