Как запушить на гитхаб intellij idea
Перейти к содержимому

Как запушить на гитхаб intellij idea

  • автор:

[HOW TO] Committing Code Using Intellij IDEA

This is a blogging version of the guildeline on committing code to GitHub repository. The GitHub version is available here . You are welcomed to clone/fork and use them as your team’s guildeline.

Committing Code using Intellij IDEA

This demonstration uses the Intellij IDEA Ultimate, version 2020.1. If you have already clone code, your IDE interface should look similar to this. Other Jetbrain IDEs, such as PyCharm, WebStorm, have very similar interface, so that you can use this tutorial if you are using other JetBrain IDEs.

1. Create a new branch

  1. Click the current branch (in this case, it is master )
  1. On the popped window, click the + New Branch
  1. Enter the name of your new branch.
  1. You can see now you are in dev branch.

2. Edit in the new branch

Edit code in the new branch.

3. Git Commit

Remember you are in the new branch while committing the code.

  1. Start committing code by clicking the commit button in the Git toolbox.
  1. Edit the commit message and add changed files on the popped window.

You can directly commit the code to the local repository and push to GitHub by clicking the button on the right side of Commit .

Sharing your project on GitHub — The multi-step approach

Creating a Local Repository First and Sharing it to GitHub Later

The first approach we looked at assumed that you want to do everything in a single step. However, sometimes you want to create a local Git repository for your project well before you publish it publicly on GitHub.

Let’s assume you have a more complex project than Hello World and that you’re still in the process of writing the code. You don’t want to publish your project on GitHub just yet, but you do want to enable source control for it as you want to do small commits locally while you evolve the code.

Creating a Local Repository

You can check that your project isn’t under version control by checking if you can see your Git tool window with ⌘9 (macOS), or Alt+9 (Windows/Linux). If you can’t see the Git tool window, your project is not yet a Git project.

To use Git as the version control for an IntelliJ IDEA project, go to VCS > Enable Version Control Integration and select Git from the drop-down menu.

Enable Version Control Integration

IntelliJ IDEA will now create a Git repository in the root directory of the project. We also now have access to the Git tool window with ⌘9 (macOS), or Alt+9 (Windows/Linux).

If you open this, you can click on the Console tab to see the Git commands that have been run and their result, or you can switch to the visual Log tab. You can now also see that there’s a .git folder in your project, either from the Project Window ⌘1 (macOS), Alt+1 (Windows/Linux), or you can use IntelliJ IDEA’s terminal with ⌥F12 (macOS), or Alt+F12 (Windows/Linux) to list the project’s files.

Now you’ve enabled Git, but you haven’t added anything to source control yet. We can see that our files are shown in red, which means as far as Git is concerned, these are new files that are not yet added to Git, so they’re not in version control. Let’s select which files we want to be in version control, and make our first commit.

Making Your First Commit Locally

You can open the commit window using ⌘K (macOS) Ctrl+K (Windows/Linux). The tutorial uses the Commit Tool Window, which was added in IntelliJ IDEA 2020.1. If you’re still using the old commit dialog, you can switch to the commit tool window in your Preferences/Settings ⌘, (macOS), or Ctrl+Alt+S (Windows/Linux) and then search for Use non-modal commit interface.

If you open up the unversioned files list in this Commit window you can see all the files in your project are listed because none of them have been added to Git yet. You probably don’t want to add everything to Git. There are some directories and files, like build output files, that we don’t need to put under source control. Seeing all the files in a single list like this might not be helpful, so we could opt to group the files, for example by directory or module.

Export By Directory

In this example, there are two directories that we don’t want to add to Git because they’re build directories. We do want to add the gradle wrapper directory, the source, and the files in the root of my project. If we open up the .idea folder, we can see all IntelliJ IDEA’s settings files. Each team will have their own idea of which settings should be saved into source control, if any. IntelliJ IDEA automatically adds a .gitignore file to this directory with default folders and files to exclude from source control. We could add other files to this .gitignore file if there are other specific IDE settings that we don’t want to include. However, you can add all the other settings files to Git.

Add Versioned Files

Add a description for this commit describing what functionality these changes do. When you commit this, you get a balloon saying this was successful. When you go back to the Git window with ⌘9 (macOS), or Alt+9 (Windows/Linux) the Log tab shows us this commit. You can see the files that were changed in this commit and the commit message. You can hide the Git window by pressing ⌘9 (macOS), or Alt+9 (Windows/Linux) again.

Creating a Repository on GitHub

So far you have been committing all these changes to your local Git repository. If you open the Log tab again with ⌘9 (macOS), or Alt+9 (Windows/Linux), you can see this project only has local branches, which means all the code and the commit history is only saved on this local computer. Once you finished setting up your project and are ready to share it and its history publicly on GitHub, go to Git > GitHub > Share Project on GitHub.

You can use IntelliJ IDEA to create a local Git repository and then share the project on GitHub by going to VCS > Share project on GitHub in the menu.

Share Project on GitHub

This displays the Share Project on GitHub dialog. Here you can give your GitHub repository a name, choose if you want it to be private, change the Remote (we recommend you don’t), and give your project a description. Project names must be unique in your GitHub repository and follow the GitHub guidelines.

Maybe Required — Authenticating with GitHub

If you’re not authenticated with GitHub you will see an additional Add Account link which has different options:

Share Add Account dialog

We’ll focus on the top two options in this tutorial. Firstly, if you select Log in via GitHub, a window will open in your default browser asking you to log in to your GitHub account and authenticate it with IntelliJ IDEA.

Alternatively, you can select Log in with Token to open the Add GitHub account dialog. Here when you press Generate a window will open in your default browser asking you to log in to your GitHub account, and then you can generate a token for use in IntelliJ IDEA. You can follow the instructions on GitHub to do this. Once you have generated the token you can paste it back into the dialog to authenticate with GitHub.

Both these methods achieve the same result in that they allow IntelliJ IDEA to authenticate with GitHub.

When you press Enter or click Share, IntelliJ IDEA will create a new repository on GitHub under the account and push this code to that repository. The balloon notification shows when this is complete, so we can click on the link and see the new repository on GitHub in a browser. We can see the code on the project, and the three commits that we made locally are now available on GitHub.

Sharing a Project on GitHub

If you go back to IntelliJ IDEA, you can see the Git Log has been updated to show that the remote origin, is also at this commit. When you expand the Remote branches you can see the master branch under the origin remote. This shows us everything has been successfully pushed to GitHub, and that IntelliJ IDEA is also up-to-date with all the information from the GitHub remote.

Git Log Window

We recommend not waiting too long to push your project to GitHub since putting the project on a remote server like GitHub means that the code is safely backed up to another location.

Настройка Git в Intellij IDEA

Сегодня мы рассмотрим простой способ настройки Git в Intellij IDEA. Прочив это руководство вы сможете коммитить и пушить изменения в проекте на ваш репозиторий на GitHub.

1. Intellij IDEA нажимаем VCS -> Import into Version Control -> Create Git Repository

В появившемся окне выбираем корневой каталог проекта и нажимаем ОК

2. Идем на GitHub и создаем новый репозиторий с желаемым названием

3. Идем в закладку Changes (в нижнем левом углу Intellij IDEA) или с помощью комбинации клавиш Alt + 9 и нажимаем правой кнопкой мыши на файлах под названием Unversioned Files, далее в появившемся контекстном меню выбираем Add to VCS

4. В закладке Changes нажимаем правой кнопкой мыши на пункте Default и в появившемся контекстном меню выбираем Commit Changes

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

6. Теперь закоммитим на удаленный репозиторий (мы его создавали в пункте 2). Для этого зайдите на страницу репозитория на github, например: https://github.com/username/reponame, где

username — ваш логин на github

reponame — название вашего репозитория

Теперь найдите на странице репозитория блок HTTPS clone URL и скопируйте ссылку в буфер обмена.

7. Теперь идем в закладку Terminal (в нижнем левом углу Intellij IDEA) и пишем следующие команды:

Подружим Git с Intellij IDEA

Java-университет

Подружим Git с Intellij IDEA - 1

По сложившейся традиции, приветствую вас, будущие Senior Software Engineers. Сегодня поговорим о логическом продолжении моей статьи про Гит. Также я советую прочесть материал о стратегиях ветвления, который я опубликовал ранее. В статье про Гит я описал, как работать с ним в командной строке, а сегодня покажу, как сделать все это в Intellij IDEA. В начале своего пути как разработчика я пользовался именно командной строкой и думал, что мне незачем использовать UI для этого дела. Ведь все понятно и так… Но это было ровно до того момента, пока я не начал использовать Гит в Intellij IDEA… Хочу сказать сразу, что я буду описывать личный опыт работы. Есть несколько вариантов решения одних и тех же задач через Intellij IDEA, и если вы знаете, как сделать лучше то, что я опишу в статье — пишите в комментарии, обсудим.

Необходимые вводные:

  1. Прочесть, повторить и понять статью про гит. Это поможет быть уверенным, что все уже настроено и готово к работе
  2. Установить Intellij IDEA.
  3. Выделить часик личного времени для полного усвоения.

Клонируем проект локально

  1. Если есть уже гитхаб аккаунт и хочется что-то потом запушить, лучше сделать форк проекта к себе и клонировать свою копию. Как сделать форк — я описывал в этой статье в главе пример the forking workflow.
  2. Клонировать с моего репозитория и проделать все локально без возможности все это дело запушить на сервер. Ведь это же будет мой репозиторий))

Копируем адрес проекта:

Открываем Intellij IDEA и выбираем Get from Version Control:

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

Вам предложат создать Intellij IDEA проект. Принимаем предложение:

Так как нет системы сборки, и это не входит в задачу статьи, выбираем Create project from existing sources:

Подружим Git с Intellij IDEA - 7

Далее будет такая картина маслом: С клонированием разобрались, теперь-то можно и оглянуться по сторонам.

Первый взгляд на Intellij IDEA как на гит UI

Присмотритесь еще раз внимательно на клонированный проект: уже там можно получить много информации о системе контроля версий. Первое — это Version Control панель в нижнем левом углу. В ней можно найти все локальные изменения и получить список коммитов (аналог git log). Перейдем в лекцию Log. Присутствует некая визуальная составляющая, которая помогает понять, как именно шел процесс разработки. Например, видно, что создавалась новая ветка с коммитом added header to txt, который после влился в мастер-ветку. Если нажать на коммит, в правом углу можно увидеть всю информацию о коммите: всех изменениях и его метаданных. Подружим Git с Intellij IDEA - 8Более того, можно посмотреть, какие были сделаны изменения. Тем более что там же был разрезолвлен конфликт. Это IDEA тоже отлично показывает. Если нажать два раза на файл, который был изменен за этот коммит, увидим, как резолвили кофликт: Подружим Git с Intellij IDEA - 9Заметно, что справа и слева были два варианта одного файла, который нужно было смержить в один. А посредине — результат, который в итоге получился. Когда в проекте множество веток, коммитов и пользователей, которые работают в проекте, необходимо поискать отдельно по ветке (branch), пользователю (user) и дате (date): Подружим Git с Intellij IDEA - 10И последнее, что я хочу объяснить перед началом работы — это то, как же понять, в какой ветке мы находимся. Даю минуту на поиск… нашли? Сдаетесь? 😀 В правом нижнем углу есть кнопка Git: master, где после Git: показано, на какой ветке находится сейчас проект. Если нажать на кнопку, можно проделать множество полезных вещей: перейти на другую ветку, создать новую, переименовать существующую, и так далее. Подружим Git с Intellij IDEA - 11

Работа с репозиторием

Полезные горячие клавиши

  1. ctrl + t — получить последние изменения с удаленного репозитория (git pull).
  2. ctrl + k — сделать коммит/посмотреть все изменения, которые есть на данный момент. Сюда входят и untracked, и modified файлы (смотри мою статью про гит, там это описано) (git commit).
  3. ctrl + shift + k — это команда для создания пуша изменений на удаленный репозиторий. Все коммиты, которые были созданы локально и еще не находятся на удаленном, будут предложены для пуша (git push).
  4. alt + ctrl + z — откатить в конкретном файле изменения до состояния последнего созданного коммита в локальном репозитории. Если в левом верхнем углу выделить весь проект, то можно будет откатить изменения всех файлов.

Что мы хотим?

Получить все изменения на текущий момент в основной ветке (master, например).

На базе этой основной создать отдельную для своей работы.

Реализовать новую функциональность.

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

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

Получить изменения с удаленного сервера?

Подружим Git с Intellij IDEA - 13

Я добавил описание в README новым коммитом и хочу эти изменения получить. Предлагается выбор между мерджем и ребейзом в случае, если были сделаны изменения и в локальном репозитории и на удаленном. Выбираем мерж. Вводим ctrl + t: В результате, видно как изменился README, т.е. изменения из удаленного репозитория подтянулись, и в правом нижнем углу можно посмотреть все детали тех изменений, которые пришли с сервера. alt=»Подружим Git с Intellij IDEA — 14″ width=»1024″ />

Создать новую ветку на основе master

Переходим в правый нижний угол и нажимаем на Git: master, выбираем + New Branch.

Оставляем галочку Checkout branch и пишем имя новой ветки. Для меня это будет readme-improver.

Подружим Git с Intellij IDEA - 16

После этого Git: master сменится на Git: readme-improver.

Имитируем параллельную работу

Реализовать свою функциональность

Задача стоит в том, чтобы поменять README и добавить описание к новой статье, то есть то, что работа в гите идет через Intellij IDEA. Добавляем это: Подружим Git с Intellij IDEA - 17Изменения выполнены, теперь можно создать коммит. Нажимаем горячую клавишу ctrl + k, получим: Подружим Git с Intellij IDEA - 18Прежде чем создать коммит, нужно внимательно посмотреть на то, что предлагается в этом окне. Я специально добавил стрелочек, куда посмотреть. Там много интересных вещей. В секции Commit Message пишем текст коммита, и чтобы он создался, нужно нажать кнопку Commit. Я так и не нашел, как бы так сделать это горячей клавишей, так что если кто-то найдет — пишите, я буду очень рад. Пишем, что README изменился и создаем коммит. В результате в левом нижнем углу всплывает оповещение, в котором будет имя коммита: Подружим Git с Intellij IDEA - 19

Проверить, не изменилась ли основная ветка

  1. accept yours — принять только изменения из readme-improver.
  2. accept theirs — принять только изменения из master.
  3. merge — самому выбрать, что нужно оставить, а что убрать.
  1. Это изменения из readme-improver.
  2. Результат. Пока что там так, как было до изменений.
  3. Изменения из master ветки.

Запушить изменения на удаленный сервер

Следующий шаг — запушить изменения на удаленный сервер и создавать пул-реквест. Для этого просто нажимаем ctrl + shift + k, после чего получим: Подружим Git с Intellij IDEA - 26Слева будет список коммитов, которые не запушены на удаленный репозиторий, а справа будут все файлы, которые изменены. И все: нажимаем Push, и будет вам счастье 🙂 При успешном пуше будет вот такое уведомление в нижнем правом углу: Подружим Git с Intellij IDEA - 27

Бонусная часть

Подружим Git с Intellij IDEA - 28

Не хотел изначально добавлять создание пул-реквеста в статью, но получается не очень законченной из-за этого. Поэтому переходим на гитхаб репозиторий (если он ваш, конечно))) ) и видим, что гитхаб уже знает, что нам предложить: Нажимаем на Compare & pull request, после чего нажимаем Create pull request. Из-за того, что мы заблаговременно порешали конфликты, теперь при создании пул-реквеста, его сразу можно мержить: alt=»Подружим Git с Intellij IDEA — 29″ width=»1024″ />Вот и все, что я хотел вам рассказать в этот раз. Разумеется, я только открыл вам дверь и показал малую часть. Остальное уже по мере необходимости сами найдете. Традиционно приглашаю подписаться на мой GitHub аккаунт, где я выставляю проекты-наработки на разные технологии, которые использую на работе. У меня недавно было личное достижение — мой проект был оценен уже более чем сотней разработчиков. Это невероятное чувство радости, что то, что ты сделал, кто-то использует. И использует для пользы.

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

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