Как скачать проект с github в intellij idea
Перейти к содержимому

Как скачать проект с github в intellij idea

  • автор:

Getting Started with GitHub and IntelliJ

Faraz Hussain

This document explains about using GitHub with IntelliJ to clone Git projects and Rise PR using IntelliJ IDEA.

Version Control:

Version Control refers to a system that records changes to a file or set of files over time, called the ‘versions’. In other words, these versions help you in tracking the changes in your codes/project and if necessary, undo those changes as well. There are three types of version control:

GIT and GitHub:

Git is a distributed version control software which you need to install on your local system in order to use it. For an individual working on a project alone, Git proves to be excellent software.

Git File Workflow:

Workspace Copy:

Users’ active directory simply creates new files in this space, and this will be tracked by the Git.

Stage Area:

It is a place where all the modified files marked to be committed are placed.

Local Repository: User’s copy of the version database or file and access all the files through local repos and push the change made to remote

Remote Repository: It is a server where all the collaborators upload changes made to files.

Clone Command: Creates a copy of an existing remote repository inside the local repository.

Importing Project from GitHub: (Install Git Plugin in IntelliJ)

Step 1: Open IntelliJ IDEA, Head on to Get from Version Control

Step 2: Open GitHub, navigate to project which you want to clone. Create your fork and Copy Fork Link not the Main Master Link

Step 3: Paste link in URL filed and Select the directory you want to store project in local. Click on Clone

Git in IntelliJ:

You will be directed to Workspace.

Git Branches: You can find your Local and remote branches here.

Create New Branch in IntelliJ: Click on +New Branch to create a new local Branch, name your branch and click on CREATE

Now, Local Branch is created, and you will be Checked out to Newly Created Local Branch

View Local and Global Changes in IntelliJ:

After making Code development / required modifications, you can view local changes in Version Control → Local Changes Tab

All Global/Remote Changes are displayed in Version Control à Log Tab

Commit Changes and Rise Pull Changes:

Step 1: Go to VCS →Git → Commit File

Compare Changes with original file, you have two options,

1. Commit — Commit changes from current branch

2. Commit and Push — Push changes to Remote

Step 2: If you have Selected Commit and Push Option, you will get Window to push Changes

Done! Once you open GitHub, you will get option to rise Pull Request.

Update your Fork with Master Fork:

Step 1: Go to Terminal, run

Step 2: Now go to Master Repository, and Copy Link

Step 3: Now, run

Available remote is listed by git running

Step 4: The first thing is to fetch all the changes from the original repository. Note that commits to the original repository will be stored in a local branch called, upstream/master.

Step 5: Make sure that you are on your fork’s master branch.

Step 6: Merge the changes from the upstream/master into your local master branch. This will bring your fork’s master branch into sync with the upstream repository without losing your local changes. If you have made any changes that create a conflict, you will obviously have to resolve those before you can complete the merge.

Step 7: At this point your local branch is synced to the original repositories master branch. If you want to update the GitHub repository, you need to push your changes.

Clone a Project from GitHub

In this blog, we’re going to look at how to create an IntelliJ IDEA project from existing code in a GitHub repository.

This blog post covers the same material as the video with some additional tips and tricks. This provides an easy way for people to skim the content quickly if they prefer reading to watching, and to give the reader/watcher code samples and links to additional information.

Clone a GitHub Repository to Our Local Machine

The first thing we need to do is to clone the git repository to our local machine. In the video, we used this IntelliJ samples repository, but it could be one of your repositories if you prefer.

There are several ways to clone a Git repository to your local machine. You can use HTTPS or SSH, amongst other options. Let’s use HTTPS as it can be the simplest option. When we click the clipboard icon, the URL will be copied to our clipboard.

Trisha Gee Repository GitHub

If you don’t have any projects open when you first start IntelliJ IDEA, you’ll see a welcome screen. The welcome screen varies from version to version, the video uses the welcome screen in IntelliJ IDEA 2020.3. Regardless of your version, you’ll have an option to get a project from version control. Clicking on this gives us the Get from Version Control dialog. You can paste the repository URL into the URL input box that we copied from the repository earlier. You can also change the directory that this project is created in on your machine if required.

IntelliJ clone git project

You can then press Enter, or click Clone, and IntelliJ IDEA will clone the GitHub repository to the directory we selected. IntelliJ IDEA will also pick up common build tools like Gradle or Maven, and automatically download the required dependencies before building the project for you. IntelliJ IDEA will also detect the modules in the project, and correctly set up the test, main and resources folders in a Maven project like the one in the video. You an see the result in the Project window.

There’s more than one way to clone a GitHub project from inside IntelliJ IDEA. If we already have a project like this one open, we can choose to get a new project from GitHub using the VCS menu and selecting Get from Version Control… in version 2020.2, or Clone in version 2020.3. This gives you the same dialog we saw earlier allowing you to enter a URL and project directory.

Tip: You can also use the JetBrains Toolbox extension to clone a GitHub project to IntelliJ IDEA.

Git Tool Window

One of the most useful tools when we’re working with a Git project in IntelliJ IDEA is the Git Tool Window. This gives us visibility over the version control status of our project. One way to open the Git Tool window is to hover over the quick access button in the bottom left of the IntelliJ IDEA window, and select Git. This will open the Git log window.

IntelliJ quick access toolbar

Alternatively, we can use ⌘9 on macOS, or Alt and 9, on Windows and Linux, to open the Git Tool window. This window shows us all the commits for the project. It also shows us a list of local branches, which in our case is just the “main” branch since we just cloned this repository, as well as remote branches. If you find a visual representation of the commit history useful, this window can help you to understand the status of commits, branches, and remotes for your project.

IntelliJ git window

Tip: The Git tool window means you don’t need a third-party application to manage your Git workflow. The Git Tool window means can perform a variety of tasks including merging, creating a new branch, checking out a branch, and undoing changes.

Adding and Updating Remotes

When we’re working with open source projects on GitHub, it’s common to have more than one remote associated with a repository. If we go back to the intellij-samples project that we cloned from GitHub, we can see that this is actually a fork of another repository hosted by JetBrains.

GitHub Upstream Repository

This upstream repository is in the JetBrains organisation, and is likely to be updated by multiple people at a different rate to the fork we cloned. Ideally we want visibility of the upstream repository as well as our own fork in order to get a better idea of what changes have gone in to the upstream repository, and to update our own fork with these changes. To add this upstream repository remote, we first need to copy the URL like we did before.

We can manage our remotes in IntelliJ IDEA in a couple of different ways. One way is to use Shift+Shift to bring up the Search Everywhere dialog and type Remotes. One of the search results is the ‘Manage Remotes’ option from Git. Selecting this brings up the Git Remotes dialog. This dialog shows the remote we originally cloned this project from, which is our fork of the intellij-samples repository. We want to add a new repository for the upstream repository, in this case, the original JetBrains repository.

When we press the plus button, we can paste in the path to the JetBrains repository that we copied earlier, and give it a name. There are a number of different conventions that you could use to decide on the name for your remote, for example you could call it “upstream”. I like to use the organisation or profile name to remove any ambiguity. You can also use this dialog to make changes to our existing remotes, for example, we can rename the “origin” remote to “trishagee”, because that makes it clearer to me where this remote is pointing. Now when we look at the Git Tool window, it’s clearer which remote the remote branches belong to.

IntelliJ manage and rename remotes

Like most features in IntelliJ IDEA, there’s more than one way to open the Manage Remotes dialog. You can also right-click on the Remote node in the Branches tree of the Git Log, and select Manage Remotes.

IntelliJ manage remotes by right click

Git Fetch

The last thing we’re going to look at is why and how to invoke a Git fetch in IntelliJ IDEA. We just added a new remote to this project, but it’s not showing in the Git Tool window. This also means that none of its branches or commits are visible because we haven’t fetched the status of the new remote to our local project.

We can select VCS > Git > Fetch in version 2020.2 and Git > Fetch in version 2020.3. When we select this, IntelliJ IDEA will fetch all the relevant details from all the git remotes we have configured for the project, and update our Git Tool log window with these details.

IntelliJ Git fetch

Now we can see a new remote in the Git Tool log window, and we can see all this remote’s branches. We will also be able to see the remote’s branches in the commit list. This gives us a clear idea of which commits are on which branches, and if any branches need updating. Another way of performing a Git fetch is to click the Fetch All Remotes button on the Branches tree toolbar in the Git Log window. This will also update the project.

Now we have a fully configured IntelliJ IDEA project from a GitHub repository, with all the relevant remotes added, and a Git Tool log window that shows the current status of the remote repositories. We’re ready to start making changes to this project and to commit, push, and create pull requests.

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

License

EvgenKuz/Intellij-IDEA-GitHub-SetUp

Name already in use

  • Local
  • Codespaces

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

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

1. Добавить аккаунт GitHub в Intellij IDEA

1.1 Создать access token

Personal access token page

Перейди в настройки GitHub -> Developer Settings -> Personal access token -> Generate new token

Token generation page

Оставьте только scope’ы: repo, workflow, read:org и gist.

Появится токен. Обязательно скопируйте его, потому что после того, как вы закроете страницу, он пропадёт!

1.2 Добавить аккаунт в Intellij IDEA

Зайдите в Intellij IDEA. Там File->Settings->Version Control->GitHub.

Settings page in IDEA for GitHub

Там уже нажмите Ctrl+N(на Mac Cmd+N)->Login with token. И просто вставьте ваш скопированный токен в поле. Add account. Поздравляю, вы добавили GitHub аккаунт!

2.1 Скачать проект с GitHub

Для того чтобы клонировать проект, достаточно зайти в File->New->Project from Version Control.

Clone project from GitHub

Теперь достаточно выбрать проект и нажать Clone.

2.2 Сделать Commit

Достаточно нажать Git->Commit. Откроется вкладка Commit.

Tab for committing to git

В Unversioned Files находятся файлы не добавленные в staging area. Там можно их добавить, чтобы они попали в следующий коммит. В Changes можно убрать файлы, которые не должны попасть в следующий коммит.

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

2.3 Сделать Push

Это можно сделать из той же вкладки, нажав Commit and Push, после чего файлы загрузятся на удалённый репозиторий.

Так же это можно сделать перейдя Git->Push

Push to GitHub from IDEA

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

2.4 Загрузить через Fetch

Fetch безопасен всегда, поэтому его можно использовать когда угодно. Он просто загружает все изменения с удалённого репозитория, не делая merge с локальным репозиторием. Т.е. загруженные изменения не применятся, а останутся в отдельных ветках, расходящихся с вашими на последнем запушеном коммите.

Подходить, если вам нужно сделать Merge с изменениями из-вне вручную.

2.5 Загрузить через Pull

Pull работает только, если можно сделать fast-forward merge для веток с одинаковыми названиями в удалённом репозитории и в локальном.

Pull from GitHub

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

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

Подружим 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 не будет опубликован. Обязательные поля помечены *