Начинаем работать с git, github и visual studio code


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

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

“короткий путь”

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

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

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

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

1 basic ‘chain of command’.

This is what you do to update your files on your computer (local) to GitHub (host). These commands assume you have already set up a repository (repo). Section 3 covers, creating a repo.

  1. git status
  2. git add
  3. git commit
  4. git push

This is the basic chain of command you will use every time you update your files to GitHub.

git status

This asks terminal what is the current state of play with all your files in your repo. It will highlight everything that has changed in red. Usually, this is divided into two sections — changes made to existing files and new files created. If you have deleted files this will also show.

git add .

This will add ALL updates made to ALL files and will also add ALL new files created. That is what the full-stop does — basically ALL. You can additionally just add the file name instead of the full-stop to add individual files. For example…

git add index.html 

Once you complete this command and performed another git status, everything will turn green to indicate files/changes have been added. Important to note, although they have been added they still need a final confirm action.

[for those interested, but not important for this blog piece, there are two other related commands “git add -A” and “git add -u”. I’ll let you explore the differences here].

git commit -m “write your own message

This is the confirmation. Everything has been added and you have told terminal to send the updates to your repo on Github. The commit is basically you saying ‘yep I commit to this action — confirm’. Notice it is good practice and mandatory to write a message, this is the -m part, (m) for message.

git push

This is your final command. Everything is ready and you have confirmed. Now to just press the send button and off it goes — your repo is now fully up to date.

Git status is just a visual helper and is not expressly needed to update your repo to GitHub. Steps 2–4 are needed every time, however.

2 navigating within terminal.

Here are the commands to search and locate your repository files.

  1. pwd
  2. ls
  3. ls -a
  4. cd
  5. ..

=print working directory. In other words, tell me where I am. It will list the hierarchal file tree including the directory you are in.


=list. This command will list all the visible files in that directory. Does NOT show hidden files.

ls -a 

=list and list all hidden files. Will show all invisible files as well. By default, invisible files are not shown in terminal.

cd your/file/location 

cd=call directory. This is basically the command telling terminal I would like to go to this directory. It does not work just writing your repo name. It is not like spotlight or search. You have to write the entire hierarchal tree or file pathway.

So an example… I called my repo ‘pigs-can-fly’. For some reason, I put it in loads of other files. Let’s say this is the tree pathway to get to my repo ~/documents/my-files/pigs/pig-pics/another-pointless-file/pigs-can-fly. This is the full path and so, therefore, this is the full command

cd documents/my-files/pigs/pig-pics/another-pointless-file/pigs-can-fly

I don’t need to write ‘~’ because I will automatically start in that repository. Unfortunately, you cannot just write

cd pigs-can-fly



These two commands will navigate you between repositories. Say I am in ‘pig-pics’ and I type cd I will go straight back to the root file ‘~’. If I type .. I will go back one directory — so I’ll end up in ‘pigs’.

That is navigating with terminal.

3 setting up a repository.

This is performed via GitHub.

On GitHub go to Profile Page>Repositories Tab>NEW (green button)>Name the Repository>Add a README file (good practice)>choose whether to add .gitignore file. DONE.

[README file is basically a log or diary of what you are doing or making. .gitignore is a file that tells your repo to ignore other certain files. Read more here.]

Once you have set up your repo, open it, and then press the green clone button. Copy URL inside.

Now we need to link GitHub to your computer. We don’t have to create any files on your computer. Simply open terminal and type this command.

git clone “url just copied”

URL goes inside quotations and job done. Terminal will create a file with the same name as your repo. Important to note this file will be placed in your master or root file on your computer (usually this file is named after you). If you want the repo to be saved in another location make sure you are in that directory before you perform the clone command.

NOW, WHAT IF… you already have a project on your computer that you want to upload to GitHub? How do you do this on terminal?

First, make a repo on GitHub and copy that URL. These are the commands to familiarise yourself with.

  1. mkdir
  2. git init
  3. git remote add origin
  4. git push origin master
mkdir name-you-will-give-repo

Mkdir = make directory. Give a name to the repo you want to create. In my case…

mkdir pigs-can-fly

YOU DO NOT need to do this step if you already have a file or project started that you want to add.

Once created, you will then need to transform the repository into a git repository. Going a bit gangster we put ‘git in it’. Type the command.

git init

Then you run through the chain of command mentioned at the beginning. Status, add and commit (exactly as before). The ‘push’ part is slightly different here.

git remote add origin "url of repo created in GitHub"

This command is basically saying, ‘go to GitHub and add the origin file at this URL. After this your files on your computer will now be connected with the repo on GitHub.

git push -u origin master

This is the last command, push. Slightly different than before because you have to specify where you are pushing to. In this case, you are pushing to the master branch of your repo. Repos can have many different branches, but when you have just created a repo it will always default to add it to the master branch.

[NOTE these last two steps mentioned only need to be performed once in the initial setup of a repo. Once you have synced your files with GitHub, you then revert back to the chain of command as highlighted at the beginning.]

4 adding files with terminal.

This is really simple.

  1. touch

Using the touch command we can create any file within our repo without having to leave terminal. If I want to make an index.html file I type this command.

touch index.html

You can then do an ‘ls’ command to see the file you just created. You can create any file, for example, stylesheet.css, README file and even a .gitignore.

Connecting over ssh

If you clone with SSH, you must generate SSH keys on each computer you use to push or pull from GitHub. For more information, see “Cloning with SSH urls” and “Generating a new SSH key.”

Controlling github with terminal — uncomplicating the beast.

This grey box indicates what you should write when executing commands in terminal/command-line.ALWAYS write exactly what you see in this grey box. Hit enter to execute the command.


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

Чтобы начать работу с GitHub, нужно зарегистрироваться на сайте, если вы ещё этого не сделали.

После того как у вас будет создан аккаунт в Github можно будет начать полноценно работать с ним.


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

Next steps

You now have Git and GitHub all set up. You may now choose to create a repository where you can put your projects. Saving your code in a repository allows you to back up your code and share it around the world.

Setting up git

  1. Download and install the latest version of Git.

Note: If you are using a Chrome OS device, additional set up is required:

  1. Install a terminal emulator such as Termux from the Google Play Store on your Chrome OS device.
  2. From the terminal emulator that you installed, install Git. For example, in Termux, enter apt install git and then type y when prompted.

Visual studio code

Данное ПО является хорошим выбором для комфортной работы с GIT и GITHUB. В VS Code есть встроенный терминал, который можно вызвать с помощью комбинации клавиш:

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

Vs code

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

В Mac OS и Linux вы можете открыть терминал по адресу папки и в терминале выполнить команду code . &, которая откроет выбранный вами каталог в этом редакторе.

Если ни то, ни другое у вас не получилось, то просто откройте VS Code и через File – Open откройте нужный каталог.

Windows (git bash)

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


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

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

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

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

Git является консольной программой – это значит, что у неё нет графического интерфейса, привычного нам по многим оконным приложениям. Программа будет выводить всю важную информацию о своей работе в окно терминала. Обычно программа “молчит”, когда команда выполнена успешно.

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

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

Добавление данных в git или коммит (commit)

Создаем файл с текстом:

Смотрим статус:

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

Снова смотрим статус, видим что у нас появился новый файл example.txt, добавляем данный файл в репозиторий используя git commit:

Как ввести ssh ключ на стороне git’a

Входим в свой аккаунт на Git’e, далее наводим курсор мышки на свою аватарку и жмем “Settings”:

Теперь жмем на вкладку “SSH and GPG keys”:

Далее нажимаем кнопку “New SSH Key”. Указываем имя и вставляем ключ в поле Key. Нажимаем Add Key.

Клонирование репозитория

Покажу на примере Windows. 

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

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

Ключевые команды

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

Копирование репозитория git в локальную папку

Для начала определим, что такое репозиторий. Это рабочая директория с вашим проектом. По сути, это та же папка с HTML, CSS, JavaScript и прочими файлами, что хранится у вас на компьютере, но находится на сервере GitHub. Поэтому вы можете работать с проектом удалённо на любой машине, не переживая, что какие-то из ваших файлов потеряются — все данные будут в репозитории при условии, что вы их туда отправите. Но об этом позже.


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

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

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

Листинг каталога

ls – сокращение от “List”.

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

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

Настройка git

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

Заменив значения ВАШЕ_ИМЯ и АДРЕС вашими значениями.

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

Обратите внимание, что в командах, указанных выше, есть опция –global. Это значит, что такие данные будут сохранены для всех ваших действий в Git и вводить их больше не надо. Если вы хотите менять эту информацию для разных проектов, то в директории проекта вводите эти же команды, только без опции –global.

Настройка ssh-авторизации

Далее жмем несколько раз “Enter” и получаем вот такое сообщение в консоли.

Далее копируем открытый ssh-ключ в буфер обмена. Команда для копирования вводится в зависимости от Вашей OS.

Настройка терминала vs code в windows

По умолчанию консоль VS Code в Windows запускает стандартную командную строку Windows, которая не может работать с GIT, чтобы все работало нужно запустить терминал bash, для этого выполним следующие действия:

Открытие терминала

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

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

Отправить данные в репу можно используя команду git push:

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

Обратите внимание, что если вы используете двухфакторную авторизацию на github и являетесь пользователем linux, то вам нужно в настройках, в разделе “Developers setting” создать новый Personal access tokens и данный токкен использовать вместо пароля при аутентификации.

Переменные окружения

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

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

mv – сокращение от “Move”.

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

Полезные ссылки по данной теме


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

cd – сокращение от “Change Directory”.

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

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

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

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

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

Создание каталогов

mkdir – сокращения от “Make Directory”.

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

Стоит обратить внимание на поведение при создании нового каталога в текущей директории. После команды mkdir name ваше текущее расположение в терминале не изменится. Для того, чтобы работать внутри созданного каталога, в него требуется перейти командой cd name.

Это справедливо и при клонировании удалённого репозитория с помощью команды git clone <repo_url>. Полностью склонированный репозиторий создаст каталог в текущей директории с именем проекта, в который нужно перейти командой cd repo_name.

Создание файлов

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

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

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

pwd – сокращение от “Print Working Directory”.

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

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

rm – сокращение от “Remove”.

Удаление файла:

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

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

  • -r – удалять рекурсивно;
  • -f – не спрашивать подтверждения.

Установка git в linux (ubuntu)

В зависимости от вашего дистрибутива Linux требуется установить через консоль, например в убунту эта команда будет иметь следующий вид:

Команды для других дистрибутивов можно посмотреть здесь.

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

Бывает, Git пытается нам сказать намного больше, чем умещается в окне терминала. Для этого он пользуется постраничным выводом и когда ему уже нечего выводить появляется метка конца данных (END) или :END. Например, конец вывода команды git log:

Для того чтобы покинуть программу вывода, нужно нажать клавишу q (сокращение от слова “quit” – покинуть) на английской раскладке клавиатуры.

5 final conclusions.

Now it is fully possible within some text-editors to have GitHub integration. I use Atom and within that, I can use a few shortcut keys to instantly add, commit and push my changes to GitHub. I never need to open terminal. The package is called Git-plus.

I would however strongly recommend that you get used to using terminal, especially if you are serious about back-end dev.

To keep this piece really simple, which was the aim, I have omitted merging, forking, and conflicts within repos. I have also not explained the .gitignore files.

To be honest at an early stage when just beginning with GitHub you are unlikely to need anything more advanced than this.

Похожее:  Введение в Git: от установки до основных команд

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *