git bash here что это

Начало работы с Git

Git — система контроля версий. GitHub — сайт, предоставляющий Git-хостинг. Он служит заменой Git-сервера, если не хочется разворачивать сервер самостоятельно. Это место, где можно создать удаленный репозиторий и хранить там проект.

Необязательно использовать именно GitHub, помимо него существуют и другие Git-хостинги (например Assembla, Beanstalk). Но нельзя обойтись без системы Git на своем локальном компьютере. Поэтому рассмотрим, как ее установить.

Установка Git на компьютер

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

Установка Git

По умолчанию устанавливается две программы: Git Bash — командная строка и Git GUI — графическая оболочка. Большинство пользуется командной строкой Git Bash. Мы тоже будем работать с Git Bash.

Если Git уже установлен с другим редактором, то сменить редактор по умолчанию можно так:

После установки Git вы сможете его запустить в нужной папке, щелкнув ее правой кнопкой мыши и выбрав пункт «Git Bash Here» — очень удобная опция, так как не придется переходить в репозиторий из командной строки. То есть щелкать правой кнопкой мыши надо будет папку-репозиторий.

Запуск Git на папке репозитория (только щелкайте Bash)

Итак, установили систему Git. Теперь надо создать аккаунт на GitHub и отправить туда свой проект.

Создание аккаунта на GitHub

Тут ничего сложного — понадобится имя пользователя, электронная почта и пароль.

После этого надо создать репозиторий на GitHub (create project). Он будет доступен по адресу:

То есть если мы зарегистрируемся с логином javakitt и создадим репозиторий example, то он будет доступен по адресу:

Теперь есть два варианта:

Оба эти варианты расписаны на сайте — сразу после создания репозитория GitHub выдает страницу с командами, годными для каждого случая.

Мы рассмотрим второй вариант (вдруг у вас уже есть файлы).

Инициализация репозитория в локальной папке

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

Чтобы инициализировать репозиторий в рабочей папке, надо открыть в ней Git Bash (правая кнопка мыши, у нас это папка hello) и выполнить команду:

В рабочей папке появится папка .git, что означает, что репозиторий инициализирован. Теперь hello не просто папка проекта, но и git-репозиторий.

Добавление и фиксация изменений

После инициализации репозитория файлы из папки сами не попадут в репозиторий. Пока что статус их — неотслеживаемые, то есть никакого отношения к репозиторию они не имеют, хоть и лежат в папке. Сначала их надо добавить:

Эта команда добавит все файлы (точка означает все файлы, но можно отдельную папку или файл добавить). Теперь добавленные файлы находятся в состоянии подготовленные. Но это еще не все. Их надо зафиксировать:

Эта команда делает снимок репозитория, то есть состояние репозитория, которое хранится в истории и к которому можно впоследствии вернуться. Здесь не указываются конкретные файлы. Просто все подготовленные ранее файлы будут зафиксированы.

Если сразу не указать комментарий в кавычках вслед за параметром —m, то откроется текстовый редактор (тот самый, который мы задали при установке), и в нем надо будет написать комментарий и сохранить.

Вот теперь все, можно отправлять снимок репозитория (мы его только что сделали) в удаленный репозиторий. То есть можно поделиться снимком с другими (или отправить снимок на сервер для себя, чтобы потом можно было его скачать на другой компьютер).

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

Вернемся теперь к аккаунту на GitHub. Мы создали репозиторий example, и если зайти по адресу https://github.com/javakitt/example и нажать зеленую кнопку Clone, мы увидим, что GitHub предлагает два разных протокола для обмена: https и ssh.

Протоколы HTTPS и SSH

Это не обязательно для начала работы, но чтобы использовать протокол ssh (а не https), в настройках аккаунта надо вставить ssl-ключ. Закрытый ключ хранится у вас на компьютере, а открытый — в аккаунте, логин и пароль при обмене вводить не придется.

Но мы будем сейчас использовать протокол htpps. Тут придется при обмене с сервером вводить имя и пароль, но можно это сделать единожды, а потом брать из хранилища.

Обратите внимание, что при переключении между https и ssh (см. переключатель у кнопки Clone) меняются адреса репозиториев. Наш будет https://github.com/javakitt/example.git. Эти адреса годятся, разумеется, не только для клонирования репозитория, но и для отправки туда изменений.

Также учтите, что можно обмениваться с одним и тем же репозиторием как по протоколу https, так и по ssh. Например, на одном компьютере использовать ssl-ключ, а на другом ввести и запомнить логин-пароль для обмена. Просто псевдонимы будут назначены разным адресам.

Создадим псевдоним

Обычно создают псевдоним origin репозитория:

Мы создали псевдоним origin.

Отправим изменения

Теперь можно отправить изменения, пользуясь псевдонимом:

Здесь origin — псевдоним репозитория, а master — имя ветки. Так называется по умолчанию основная ветка в Git-репозитории. Как уже говорилось, при записи в репозиторий потребуются учетные данные — откроется окно браузера, в которое нужно ввести имя и пароль учетной записи GitHub. Впоследствии их можно запомнить, чтоб каждый раз не вводить. Запоминаются они так:

Эту команду надо ввести перед push, и тогда логин-пароль будет запрошен единожды.

Все, теперь можно убедиться, что по адресу https://github.com/javakitt/example лежат отправленные файлы.

Теперь любой человек может клонировать репозиторий по кнопке Clone, вносить изменения и отправлять их на GitHub (если мы ему дадим права).

Источник

2. Основы трансляции

Внизу документа прикреплены презентации по Git из замечательной книги Pro Git

Установка Git¶

В данной инструкции описывается работа с Git в Bash shell. Это такая терминальная среда или просто говоря командная строка. Все описанные ниже команды работают как в Linux, так и в Shell для Windows.

Читайте также:  Что значит сидеть на нарах

Рассмотрим оба этих способа. В дальнейшем не рекомендуется использовать программу TortoiseGit. Если вы ее уже установили, то просто удалите ее.

Устанавливается Git для Windows из проекта http://git-scm.com/download/win. При установке оставляем все параметры по умолчанию. Единственное, необходимо проследить, чтобы при установке была включена опция «Git Bash here». Это даст возможность запускать Git bash из Проводника прямо в необходимой вам папке. Иначе придется осуществлять навигацию через сам Git bash, что может быть неудобно неопытным пользователям компьютера.

Теперь, чтобы приступить к работе с Git, необходимо в Проводнике Windows кликнуть правой кнопкой мыши по папке с вашим проектом, который вы хотите добавить в версионный контроль, и выбрать опцию Git bash here:

Другим вариантом получить Git является Git for Windows Portable. Он скачивается по той же ссылке, что и обычный Git. В этом случае устанавливать ничего не надо. Достаточно распаковать архив в удобную для вас директорию (желательно ближе к корню диска и чтобы весь путь к папке имел только латинские символы), а затем запустить в этой директории файл git-bash.exe

В любом случае, независимо от способа установки Git, перед вами должен открыться терминал примерно такого вида:

Дальнейшая работа уже ничем различается в разных операционных системах (ОС), поскольку будет использоваться консоль Shell, которая во всех ОС одинаковая.

Далее работаем в открывшемся терминале Git bash. После установки Git-у надо сообщить свое имя и email, поскольку без этой информации вы не сможете делать коммитов, т.к. каждый коммит (версия вашего проекта в определенный момент времени) должен содержать в себе автора этого коммита. Делается это также в терминале следующим образом:

Навигация и работа в терминале¶

Обратите внимание, что для навигации используются обычные прямые слэши /, а не обратные \ как в Windows.

Поэтому, исходя из вышесказанного, если вы заблудились в навигации Git bash, то можно предложить следующий простой алгоритм действий:

Если необходимо создать директорию, то используется команда mkdir :

Здесь можно еще добавить, что если вам необходимо создать новый пустой текстовый файл, то можно воспользоваться следующей командой:

Работа в Git¶

Если после прочтения нижеизложенного текста так и не понятно как пользоваться Git на своем компьютере, то советую дополнительно ознакомиться с основами работы Git здесь. Там изложено значительно подробнее.

Теперь мы можем непосредственно приступить к версионному контролю вашего проекта. Сначала заходим в папку с проектом и выполняем команду инициализации пустого репозитория (если еще не создавали):

Кроме того, вы можете не инициализировать репозиторий, а склонировать готовый (адрес которого указан в настройках вашего проекта) и уже туда скопировать файлы вашего проекта:

Адрес репозитория по умолчанию вы можете найти на главной странице вашего проекта на сайте в секции «Main Git Repository»:

Затем индексируем файлы, находящиеся в проекте, чтобы подготовить их к коммиту:

По умолчанию точка в конце команды add означает, что все измененные с предыдущей версии кода файлы будут добавлены в следующую версию. Чтобы посмотреть список обновляемых файлов выполните команду:

Теперь когда первая или очередная версия проекта была сохранена, мы можем просмотреть историю проекта:

Или в более удобном виде:

Как переключаться между коммитами и создавать ветви¶

В Git есть механизм, позволяющий создавать параллельную версию вашего кода, не затрагивая основной, и делать с ней всё, что душе угодно. Этот механизм основан на использовании ветвей. Для создания ветви используются команды:

После настройки Git вы можете перейти к настройке удаленного репозитория, как описано в статье Управление репозиториями.

picture411-1.png (10,214 КБ) Александр Дмитриев, 17.12.2014 22:28

gitbashhere.png (7,16 КБ) Дмитриев Александр, 20.11.2015 01:58

terminal.png (8,71 КБ) Дмитриев Александр, 20.11.2015 02:08

Git 1.ppt (731 КБ) Дмитриев Александр, 15.09.2016 20:41

Git ветвления.ppt (1,036 МБ) Дмитриев Александр, 15.09.2016 20:41

Git ветвления2.ppt (1,461 МБ) Дмитриев Александр, 15.09.2016 20:41

Источник

Основные команды bash, git, npm и yarn, а также немного о package.json и semver

Доброго времени суток, друзья!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разрешение конфликтов при слиянии:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  пушкин дубровский в каком классе проходят

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

package.json

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

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

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

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

Источник

Git bash here что это

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В видео-лекциях используется VS Code. В Windows вы можете правой кнопкой открыть каталог сразу в VS Code.

Позволяет создавать каталоги (создаст каталог tmp в текущем каталоге):

Перемещение файлов и каталогов

Перемещение (переименование) файлов и каталогов:

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

Удаление непустого каталога:

Для удаления непустого каталога необходимо указать флаги:

Важность консольных сообщений

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

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

Выход из программы вывода текста

Копирование и вставка из буфера обмена в терминал отличается от тех же действий в обычных текстовых редакторах. Хорошо известная последовательность Ctrl + C и Ctrl + V нужного эффекта не даст. Некоторые последовательности символов зарезервированы в терминале как управляющие, в частности, Ctrl + C служит для прерывания процесса. Для того чтобы скопировать выделенную область из терминала в буфер обмена, нужно использовать контекстное меню (правая кнопка мышки) или нажать Ctrl + Ins :

Для вставки в поле ввода терминала можно также воспользоваться контекстным меню мышки или зажать Shift + Ins :

Иногда может работать вставка по нажатию на колёсико мышки (средняя кнопка).

Зачастую навигация в терминале сводится к попеременному вводу команд листинга

и, после просмотра содержимого текущей директории, выбору следующей директории.

При этом уже набранный текст команды будет на новой строке, а выше мы увидим содержимое следующей директории.

Источник

Git bash here что это

Краткое введение в Git (3 сценария использования)

Git (гит) является наиболее популярной разновидностью системы управления версиями (VCS). В настоящее время это необходимый инструмент профессиональной разработки ПО, используемый в подавляющем большинстве программных проектов. В рамках нашего учебного курса Git используется для контроля и отчетности выполнения практических заданий по программированию.

Git существует в качестве сервера и в качестве клиента. Далее, мы рассмотрим установку программы в качестве клиентского приложения на локальный компьютер пользователя. В качестве серверной части будет выступать известный ресурс https://github.com.

Установка и настройка

и выбираем дистрибутив для своеё операционной системы или идем по ссылке в нижнем правом углу страницы.

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

В окне опций соглагшаемся с предложением по-умолчанию:

Git можно использовать через специальные программы-клиенты с графическим интерфейсом пользователя, а можно через обычную командную строку. Для изучения системы рекомендуется научиться основным командам, поэтому далее рассматривается работа именно в командной строке.

Инсталлятор установит специальную unix-подобную оболочку для ввода команд, под названием Git Bash:

На этом этапе установки вновь соглашаемся с инсталлятором:

Обратите внимание, что при выборе опций была установлена галочка в пункте Интеграция с проводником Windows. Тогда, в контекстном меню, вызываемом нажатием правой кнопкой мыши на области окна с папкой, должны появиться пункты:

что значительно облегчает запуск командной оболочки с переходом в указанную папку.

Теперь в проводнике Windows на диске C: создадим папку с будущим репозиторием (хранилищем) проектов. На самом деле эту папку можно размещать в любом месте файловой системы, но мы упрощаем себе задачу. Внимание! Не рекомендуется хранить репозитории в папках с пробелами или кириллическими символами в названии.

Если войти в проводнике в соданную папку (C:\Labs), вызвать контекстное меню и выбрать пункт Git Bash Here, то откроется окно оболочки с приглашением.

Читайте также:  что делать если день увольнения приходится на выходной день

В окно теперь можно вводить команды для работы с Git.

Настройка пользователя и почты

Во время одного из этапов первоначальных действий с Git придётся настроить имя пользователя и адрес почты:

Первый сценарий. Разработка собственного проекта

В каталоге c:\labs мы создадим свой учебный проект Hello, World! и пройдем через все этапы работы в Git.

Создадим папку Hello в каталоге c:\labs и перейдем туда в оболочке:

Создадим новый (пустой) репозиторий:

Далее, создадим файл-исходник hello.c с текстом программы на языке C для нашего проекта:

Файл можно создать в любом подходящем текстовом редакторе (notepad), но лучше использовать специальные редакторы для программистов (notepad++).

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

Добавим этот файл (а точнее: изменения в этом файле) к git:

Команда проверки статуса покажет имя добавленного файла зеленым цветом.

Теперь зафиксируем изменения:

Разработка программы предполагает внесение изменений в исходный код. После некоторого количества правок, когда очередной элемент программы завершен, файл сохранен, необходимо снова дать последовательность команд:

Комментарий к коммиту должен отражать суть сделанных правок, быть лаконичным, но понятным.

Рассмотрим теперь более подробно рабочий процесс.

Когда мы меняем (или создаем) файлы, то они размещаются в рабочем каталоге (working directory). Команда git add добавляет сделанные изменения в область подготовки (staging area). При вызове
git commit происходит фиксация изменений в репозитории. В истории разработки появляется точка, на которую можно ссылаться, к которой можно совершать откат и т.п.

В таком виде процесс разработки может продолжаться сколько угодно, но рано или поздно потребуется отправить изменения на сервер, где проект может быть использован другими разработчиками.

Первый сценарий. Работа с сервером

Для работы с серверной частью необходимо зарегистрироваться на https://github.com. Обратите, пожалуйста внимание, что пользователям можно указывать тарифные планы для использования ресурса, но мы выбираем бесплатный тариф.

Активирование аккаунта происходит после подтверждающего письма по электронной почте.

Далее, мы выбираем вкладку Repositories и нажимаем зеленую кнопку New:

После этого необходимо заполнить ряд полей.

Нужно ввести имя создаваемого репозитория (лучше, если оно будет совпадать с локальным именем). Тип репозитория надо оставить public для свободно распространяемых проектов и private для закрытых от внешнего мира.

Нажатие зеленой кнопки Create переносит к финальному шагу:

На последнем шаге нам предлагают связать локальный и удаленный репозитории командой git remote. Мы должны набрать в командной оболочке

и передать первый раз изменения на сервер:

Слово origin в данном случае означает псевдоним серверного репозитория, а master имя ветки. По сути мы связали локальную и удаленную ветки master и отправили изменения на сервер.

Страницу репозитория можно обновить

Как в дальнейшем отправлять обновления на сервер?

Как только на локальной машине накапливается достаточно изменений (новых коммитов), осуществляется их передача на удаленный сервер командой

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

Сценарий второй. Подключение еще одного локального компьютера для разработки

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

Любой пользователь Github может выполнить клонирование существующего public репозитория к себе на локальный компьютер.

Если раскрыть список в виде зеленой кнопки, то мы увидим две возможности:

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

Клонирование репозитория осуществляется командой

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

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

Данная команда скачивает изменения со стороны сервера на локальный компьютер и применяет их к текущей ветке (master).

Замечание. Для обновления локальной версии public репозитория не требуется вводить логин и пароль. В принципе, не требуется даже иметь аккаунт на github. А вот при попытке отправить изменения на сервер будут запрошены данные для идентификации.

Таким образом, сценарий №2 позволяет скачивать с сервера программное обеспечение (в том числе чужое) и периодически обновлять его.

Третий сценарий. «Социальное» программирование

Сценарий №3 является наиболее сложным из рассматриваемых, но и наиболее популярным и интересным. В лабораторных работах мы будем использовать именно его.

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

Последовательность действий при данном сценарии:

Владелец гостевого аккаунта (пользователь) выполняет операцию под названием Fork

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

Выполняется клонирование удаленного репозитория из своего аккаунта на локальный компьютер.

Для того, чтобы владелец серверного репозитория мог вытянуть и применить изменения в своем проекте, прользователь направляет ему Pull request (пул-запрос).

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

При использовании данной схемы возникает ряд вопросов, главный из которых: как обеспечить безопасное слияние нескольких пул-запросов?

Это достигается использованием механизма веток.

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

About

Краткое введение в Git и его использование с GitHub

Источник

Сказочный портал