Запуск GitHub Desktop из командной строки

- В строке меню выберите меню GitHub Desktop и нажмите кнопку Установить программу командной строки.
github /PATH/TO/REPO
Вы также можете изменить путь к репозиторию, а затем ввести github . , чтобы открыть этот репозиторий.
$ cd /PATH/TO/REPO [repo]$ github .
- Откройте командную строку.
- Чтобы запустить GitHub Desktop для последнего открытого репозитория, введите github . Чтобы запустить GitHub Desktop для определенного репозитория, введите github и затем путь к репозиторию.
C:\Users\octocat> github PATH\TO\REPO
Вы также можете изменить путь к репозиторию, а затем ввести github . , чтобы открыть этот репозиторий.
C:\Users\octocat> cd REPO\MY-REPO C:\Users\octocat\repo\myrepo> github .
Работа с github из командной строки


.
Можно удостовериться, что файл и репозиторий созданы, (через Total-Commandor) проверить наличие созданного каталога .git (через Проводник невидим)
.
6. git commit -m «first commit through MING64»
Теоретически после этого должен быть
git push, но репозиторий на github ещё не был создан!
7. Заходим на сайт http://github.com
Создаем учетную там запись, создаем там новый репозиторий, копируем на него ссылку
[можно репозиторий создать из командной строки
curl -u ‘USER_NAME’ https://api.github.com/user/repos -d’
8. git remote add имя_репозитория ссылка_на_репозиторий:
git remote add git-demo-MING64 https://github.com/DanyaTania/git-demo-MING64.git
9. git push git-demo-MING64

.
Можно удостовериться, что содержимое репозитория с компьютера переместилось в репозиторий на github’е
(в нашем случае — единственный созданный файл readme)
.
далее для любого файла:
A) $ vi text
Ctr+Insert — вставка (наполняем текст содержанием), Ctr+C
в самой нижней строке
:wq
$ git remote add text https://github.com/DanyaTania/git-demo-MING64.git
C) $ git commit text [-m «комментарий»]
$ git push text
.
Можно удостовериться, что файл text с добавленным Вами содержимым
переместился на Ваш удаленный репозиторий на github.com
Если файл уже создан, то после его редактирования, просто
$ git add text
$ git commit text
$ git push text
. Обращайте внимание на комментарии, которые появляются в случае ошибок в командах
При создании, например, файла .gitignore , приведенные выше алгоритмы действовать не будут: командная строка выдаст ошибку
в этом случае возможна такая последовательность команд:
2. $ git commit .gitignore
3. $ git push https://github.com/DanyaTania/git-demo-MING64.git master
Вот как может выглядеть, в самом простом случает содержимое .gitignore : (скрываем файлы и папки, чтобы случайно их не закоммитить):

Создание новой ветви в репозитории:
$ git checkout -b feature
Добавление одного файла:
$ git add arrows.txt
$ git commit arrows.txt
$ git push arrows.txt :

перейдем в master — ветку:
$ git checkout -b master
создадим там файл с таким же, как и в ветке feature названием ( arrows.txt ), но с другим наполнением (содержимые файлов arrows.txt в разных ветках одного и того же репозитория должны различаться):

Смержим feature в master, решив конфликт (склеив разные части содержимого arrows.txt в одном файле в ветке master):

далее:
$ vi arrows.txt
и разрешаем конфликт вручную, редактируя там текст, далее:

$ git tag session1
так можно пометить коммит тэгом
$ git push https://github.com/DanyaTania/git-demo-MING64.git session1
отправка тега session1 в удаленный репозиторий, после чего коммит, помеченный этим тегом, можно скачивать и просматривать через github.com
По умолчанию команда git push не отправляет теги.
Про rebase :

Видео по настройкам IntelliJ IDEA :
Что такое git push и как его использовать
В инструкции рассказываем о наиболее частых сценариях использования git push.
Эта инструкция — часть курса «Введение в Git».
Смотреть весь курс
Введение
Команда Git push позволяет отправлять локальную ветку на удаленный репозиторий. Она помогает разработчикам синхронизироваться в команде, а именно отправляет проделанные изменения. Если программист работает один, то пуш позволяет хранить код в облаке, например github, gitlab и не только, избавляя от риска потери данных на компьютере.
Дополнительно для синхронизации еще используют git pull для получения изменений с сервера и git remote, чтобы получить список удаленных подключений к репозиторию.
В этой инструкции мы расскажем, как запушить в удаленный git репозиторий. В статье под «пушем» будем подразумевать git push.
Отправка изменений в чистый репозиторий
Перед пушем надо связать локальный и удаленный репозитории. Делается это при помощи команды:
git remote add link
Вместо repository_name нужно дать имя удаленному репозиторию. Далее в инструкции вместо этого параметра мы будем использовать origin, так как чаще всего используют это имя.
Вместо link — ссылка на удаленный репозиторий, она может выглядеть по-разному в зависимости от того используется ssh или https.
Для ssh, который обязателен для github и gitlab, потребуются сделать дополнительные манипуляции для создания ssh-ключа. Соответствующие инструкции есть на этих ресурсах.
Отправка изменений
Перед пушем надо зафиксировать текущие изменения, то есть сделать git commit.
Далее для отправки в терминале пишем:
git push origin
Вместо branch — имя ветки, которую надо отправить. Чаще всего используется master или main:
git push origin master
Такое каждый раз писать слишком громоздко, для этого придумали git push по умолчанию. Для этого единожды набираем предыдущую команду с флагом -u:
git push -u origin master
После этого можно писать более коротко, так как git запомнил, что пушить надо на сервер origin ветку под именем master:
git push
Таким образом, git позволяет запушить ветку в удаленный репозиторий. Чтобы через git добавить ветку в удаленный репозиторий, надо запушить существующую локальную ветку.
Дополнительные опции публикации
Отправка ветки на сервер в ветку с другим именем
Для того чтобы сделать git push в другую ветку, есть специальный синтаксис, где после имени ветки через двоеточие пишется имя удаленной ветки:
git push origin branch:server_branch
где branch – имя локальной ветки, server_branch – имя удаленной ветки на сервере.
Отправка всех веток на сервер
Вместо имени ветки пишем флаг —all:
git push origin --all
После этого все зафиксированные изменения в ветках отправятся в удаленный репозиторий.
Отправка текущей ветки
Удобный способ отправить текущую ветку с тем же именем на сервере.
git push origin HEAD
HEAD указывает на текущую ветку (current branch). Тем самым, не надо запоминать имя ветки, на которой вы находитесь.
Принудительная публикация (git push —force …)
При отправке может произойти ошибка публикации:
To github.com:example/test.git ! [rejected] master -> master (fetch first) error: не удалось отправить некоторые ссылки в «github.com:example/test.git»
Это так называемый git push rejected, он означает что пуш был отклонен. Правильнее всего — сделать то, что написано в подсказке к ошибке. Надо получить и смержить изменения, затем снова отправить.
Эта ошибка происходит, так как git проверяет, что новый коммит основан на предыдущих коммитах. Пока вы вносили изменения, кто-то мог запушить изменения того же, над чем вы работали. Поэтому git не может выполнить автоматическое слияние, ваш коммит был раньше и он не базируется на обновленных коммитах в удаленном репозиториие.
Флагом —force или сокращенной его версией -f отключается проверка коммитов и при необходимости выполняется перезапись истории.
git push --force
Нужно быть аккуратными с этой командой, так как она стирает работу других людей. Эта команда оправдана лишь изредка, например, если вы почти сразу внесли изменения коммита с помощью git commit —amend и запушили до того, как кто-то сделал git pull.
Принудительная публикация с параметром (git push —force-with-lease …)
Это более безопасный, но так же нерекомендуемый вариант вариант принудительного пушинга. Он не перезапишет работу в удаленной ветке, если в нее были добавлены коммиты от других людей.
git push --force-with-lease
Принудительная публикация с этим параметром чревата появлением git push rejected у других людей
Как пушить в PhpStorm
При первом открытии PhpStorm потребуется создать новый проект.
В открытом проекте в правом верхнем углу среды разработки располагаются наиболее часто используемые команды git, в том числе пушинга.
Синяя стрелка означает git pull, зеленая галочка — git commit, зеленая стрелка — git push. При нажатии на зеленую стрелку (горячие клавиши Ctrl+Alt+K или ⌥ ⌘ K) открывается диалоговое окно с информацией об изменениях и настроках отправки.
Незапушенные коммиты
Самый простой способ узнать про них при помощи команды:
git status
Вывод будет содержать имя текущей ветки и то, насколько она опережает версию сервера. Пример вывода:
On branch master Your branch is ahead of ‘origin/master’ by 1 commit. (use “git push” to publish your local commits)
Для более подробной информации можно использовать:
git log
Будет выведена история коммитов:
commit 0fcd9558b013f642a8c3b4a59a16a66de39c99bd (HEAD -> master) Author: Pavel Date: Sun Mar 27 18:57:14 2022 +0300 Local commit commit 289c650767d2c7c2e58486e27b8b3933c6442078 (origin/master, origin/HEAD) Author: Pavel Date: Fri Mar 25 19:41:47 2022 +0300 Pushed commit
В скобках пишется где и какой коммит расположен.
HEAD -> master означает что текущая ветка (current branch) — это master и это последний локальный коммит в ней.
В нижнем коммите в скобках origin/master означает, что это последний опубликованный коммит на сервере в ветке master, а origin/HEAD, что коммит расположен на ветке, которая совпадает с локальной веткой HEAD.
Как пушить теги
Для создания тегов используют git tag, а для их отправки:
git push origin
Вместо tag_name — имя тега, который надо удалить на сервере.
Также можно сделать отправку всех тегов:
git push --tags
Мы не рекомендуем выбирать этот способ, так как могут отправиться теги, которые были удалены на сервере.
Удаление ветки или тега на сервере
Чтобы удалить ветку на удаленном репозитории, используем уже привычную команду с флагом —delete:
git push --delete origin
remote_branch_or_tag_name — имя ветки или тега на сервере.
Для удаление локальной ветки:
git branch -d
А для удаления локального тега:
Как загрузить существующий проект на GitHub
GitHub — это облачный инструмент управления Git. Git —распределенная система управления версиями; это значит, что она хранит весь репозиторий и историю там, где вы их поместите. GitHub часто используется в бизнесе или в процессе разработки ПО в качестве управляемого хостинга для резервного копирования репозиториев. Однако GitHub также позволяет вам общаться с коллегами, друзьями, организациями и т.д.
В этом руководстве вы узнаете, как поместить проект, над которым вы работаете, на GitHub.
Требования
Чтобы инициализировать репозиторий и отправить его на GitHub, вам потребуется:
- Бесплатная учетная запись GitHub
- Установка git на вашем локальном компьютере. Инструкции вы найдете в мануале Разработка проектов с открытым исходным кодом: начало работы с Git
1: Создание репозитория GitHub
Войдите в GitHub и создайте новый пустой репозиторий. Инициализировать README или нет, решать вам. На самом деле это не имеет значения, потому что мы все равно переопределим все в этом репозитории.

Примечание: В этом руководстве мы используем условное имя пользователя GitHub (sammy) и репозитория (my-new-project). Все эти фиктивные данные нужно заменить своими данными.
2: Инициализация Git в папке проекта
Перейдите в папку, которую хотите добавить в репозиторий, и выполните в своем терминале следующие команды.
Инициализация репозитория Git
Убедитесь, что вы находитесь в корневом каталоге проекта, который хотите отправить на GitHub, и запустите:
Примечание: Если у вас уже есть инициализированный проект, можете пропустить эту команду.
Этот шаг создает в папке вашего проекта скрытый каталог .git. Система git распознает его и использует для хранения всех метаданных и истории версий для данного проекта.
Добавление файлов в индекс Git
Следующая команда укажет git, какие файлы включать в коммит. Аргумент -A (то есть –all) означает «включить все».
Коммит добавленных файлов
git commit -m ‘Added my project’
Команда git commit создает новый коммит со всеми добавленными файлами. Параметр -m (или –message) задает сообщение, которое будет включено в коммит в качестве объяснения для будущей работы. В этом случае мы ввели простое сообщение ‘Added my project’.
Добавление нового удаленного репозитория
Примечание: Помните, что вам нужно заменить имя пользователя и репозитория.
git remote add origin git@github.com:sammy/my-new-project.git
В git «remote» относится к удаленной версии того же репозитория, который обычно находится где-то на сервере (в данном случае на GitHub). «origin» — это стандартное имя, которое git по умолчанию присваивает удаленному серверу (таких у вас может быть несколько). Команда git remote add origin добавит URL-адрес удаленного сервера по умолчанию для этого репозитория.
Загрузка на GitHub
git push -u -f origin main
Флаг -u (или –set-upstream) устанавливает удаленный репозиторий origin в качестве апстрим-ссылки. Это позволяет позже выполнять команды git push и git pull без указания origin.
Флаг -f (или –force) автоматически перезапишет все в удаленном каталоге. Здесь мы используем его, чтобы перезаписать стандартный файл README, автоматически инициализированный GitHub.
Примечание: Если вы не включили README по умолчанию при создании проекта на GitHub, флаг -f вам не нужен, его можно удалить из команды.
Итоги
В результате весь процесс состоит из следующих команд:
git init
git add -A
git commit -m ‘Added my project’
git remote add origin git@github.com:sammy/my-new-project.git
git push -u -f origin main
Заключение
Мы успешно настроили удаленное отслеживание изменений кода в GitHub!
Читайте также:
- Краткий справочник по Git
- Создание pull-запроса на GitHub