Как добавить файл в гит idea

Обновлено: 03.07.2024

Основы Git

Установка Git

Установим гит на компьютер. Я понимаю, что у всех разные OS, поэтому постараюсь описать для нескольких случаев.

Установка для Windows

Как обычно, нужно скачать exe файл и запустить его. Здесь все просто: жмем на первую ссылку гугла, устанавливаем и всё. Для работы будем использовать bash консоль, которую они предоставляют. Чтобы работать в виндоусе, нужно запустить Git Bash. Вот как он выглядит в меню пуск: И это уже консоль, в которой можно работать. Чтобы не переходить каждый раз в папку с проектом, чтобы там открыть гит, можно в папке правой кнопкой мыши открыть консоль с нужным нам путем:

Установка для Linux

Обычно git уже установлен и есть в дистрибутивах линукса, так как это инструмент, первоначально написанный для разработки ядра линукса. Но бывают ситуации, когда его нет. Чтобы проверить это, нужно открыть терминал и прописать: git --version. Если будет вразумительный ответ, ничего устанавливать не нужно. Открываем терминал и устанавливаем. Я работаю на Ubuntu, поэтому могу сказать, что писать для нее: sudo apt-get install git. И все: теперь в любом терминале можно пользоваться гитом.

Установка на macOS

Здесь также для начала нужно проверить, есть ли уже гит (смотри выше, как на линуксе). Если все же нет, самый простой путь — это скачать отседова последнюю версию. Если установлен XCode, то гит уже точно будет автоматически установлен.

Настройка гита

У гита есть настройка пользователя, от которого будет идти работа. Это разумная и необходимая вещь, так как когда создается коммит, гит берет именно эту информацию для поля Author. Чтобы настроить имя пользователя и пароль для всех проектов, нужно прописать следующие команды: Если есть необходимость для конкретного проекта поменять автора (для личного проекта, например), можно убрать --global, и так получится:

Немного теории…

  • гит репозиторий (git repository);
  • коммит (commit);
  • ветка (branch);
  • смерджить (merge);
  • конфликты (conflicts);
  • спулить (pull);
  • запушить (push);
  • как игнорировать какие-то файлы (.gitignore).

Состояния в Гит

  • неотслеживаемое (untracked);
  • измененное (modified);
  • подготовленное (staged);
  • закомиченное (committed).

Как это понимать?

  1. Файл, который создан и не добавлен в репозиторий, будет в состоянии untracked.
  2. Делаем изменения в файлах, которые уже добавлены в гит репозиторий — находятся в состоянии modified.
  3. Из тех файлов, которые мы изменили, выбираем только те (или все), которые нужны нам (например, скомпилированные классы нам не нужны), и эти классы с изменениями попадают в состояние staged.
  4. Из заготовленных файлов из состояния staged создается коммит и переходит уже в гит репозиторий. После этого staged состояние — пустое. А вот modified еще может что-то содержать.

Что такое коммит

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

Что такое ветка

Начало работы с Git: подробный гайд для новичков - 6

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

Начало работы с Гитом

Можно работать и только с локальный репозиторием, и с удаленным. Для отработки нужных команд можно воспользоваться только локальным репозиторием. Он хранит всю информацию только локально в проекте в папке .git. Если говорить об удаленном, то вся информация хранится где-то на удаленном сервере: локально хранится только копия проекта, изменения которой можно запушить (git push) в удаленный репозиторий. Здесь и далее будем обсуждать работу с гитом в консоли. Конечно, можно пользоваться какими-то графическими решениями (например, в Intellij IDEA), но сперва нужно разобраться, какие команды происходят и что они значат.

Работа с гитом в локальном репозитории

  • git add -A — добавить все файлы из состояния в staged;
  • git add . — добавить все файлы из этой папки и все внутренних. По сути тоже самое, что и предыдущее;
  • git add <имя файла> — добавляет только конкретный файл. Здесь можно пользоваться регулярными выражениями, чтобы добавлять по какому-то шаблону. Например, git add *.java: это значит, что нужно добавить только файлы с расширением java.

Работа с .gitignore

  • первая строка — это игнорирование всех файлов с расширением .class;
  • вторая строка — это игнорирование папки target и всего, что она содержит;
  • третья строка — это игнорирование всех файлов с расширением .iml;
  • четвертая строка — это игнорирование папки .idea.

Работа с ветками и иже с ним

  • создать новую ветку на основе той, на которой находимся (99% случаев);
  • создать ветку на основе конкретного коммита (1%).

Создаем ветку на основе конкретного коммита

Опираться будем на уникальный идентификатор коммита. Чтобы найти его, напишем: Я выделил коммит с комментарием “added hello world…”. У него уникальный идентификатор — “6c44e53d06228f888f2f454d3cb8c1c976dd73f8”. Я хочу создать ветку development начиная с этого коммита. Для этого напишу: Создается ветка, в которой будут только первые два коммита из ветки master. Чтобы проверить это, мы сперва убедимся, что перешли в другую ветку и посмотрим на количество коммитов ней: И правда: получилось, что у нас два коммита. Кстати, интересный момент: в этой ветке еще нет файла .gitignore, поэтому наш скомпилированный файл (GitTest.class) теперь подсвечивается в untracked состоянии. Теперь можем провести еще раз ревизию наших веток, написав: Видно, что есть две ветки — master и development — и сейчас стоим на development.

Создаем ветку на основе текущей

  • git checkout master — переходим на ветку master;
  • git status — проверяем, точно ли на мастере.

Резолвим конфликты

  1. между “<<<<<<< HEAD” и “=======” находятся изменения мастер, которые были в этой строке в мастер ветке.
  2. между “=======” и “>>>>>>> feature/add-header” находятся изменения, которые были в feature/add-header ветке.

Работа с удаленными репозиториями

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

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

Чтобы импортировать ваш проект из системы контроля версий, нажмите кнопку Check out from Version Control на Welcome screen (приветственное окно IDEA), или в меню VCS (система контроля версий) на главной панели меню.

Руководство пользователя IntelliJ IDEA. Основы работы с системами контроля версий - 2

Если в вашем проекте есть файлы настройки сборки для Maven или Gradle, IntelliJ IDEA предложит вам использовать их для конфигурации.

Настройки системы контроля версий

Настройки системы контроля версий вашего проекта доступны в меню Settings → Version Control. Вы можете выбрать любую из директорий вашего проекта в качестве корневой для используемой вами системы контроля версий, а также поменять этот выбор в любое время. Также вы можете в любой момент отключить контроль версий.

Руководство пользователя IntelliJ IDEA. Основы работы с системами контроля версий - 3

Также, вы можете разные директории вашего проекта хранить в разных системах контроля версий, IntelliJ IDEA позволяет вам проводить все операции над ними одинаково.

Окно инструментов «изменения» и списки изменений

После того как вы подключили систему контроля версий на вашем проекте, вы можете видеть и управлять локальными изменениями с помощью окна инструментов Changes. Чтобы быстро его открыть, нажмите Alt + 9 (Cmd + 9 для Mac).

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

Всплывающее меню операций системы контроля версий

Если вам нужно запустить какую-то операцию системы контроля версий для выделенного файла, директории или даже для всего проекта, используйте всплывающее меню VCS operations по сочетанию клавиш Alt + Back Quote (одиночная левая кавычка, символ ') (Ctrl + V для Mac).

Отображение истории изменений

История изменений для файлов или директорий вашего проекта доступна из меню VCS operations, или из главной панели меню VCS → <Имя системы контроля версий> → Show History, или из контекстного меню <Имя системы контроля версий> → Show History.

Руководство пользователя IntelliJ IDEA. Основы работы с системами контроля версий - 6

Чтобы посмотреть изменения для конкретного фрагмента кода, используйте пункт Show History for Selection.

Аннотации

Аннтоации доступны как из всплывающего меню, так и из главного и контекстного меню. Они позволяют вам видеть кто и когда поменял каждую конкретную строку кода.

Руководство пользователя IntelliJ IDEA. Основы работы с системами контроля версий - 7

Вызвав панель аннотаций, вы увидете детальную информацию о соответствующем коммите.

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

  • Добавить текущий список изменений в систему контроля версий Ctrl + K (Cmd + K для Mac)
  • Обновить проект Ctrl + T (Cmd + T для Mac)
  • Добавить выделенные файлы и директории в систему контроля версий Ctrl + Alt + A (Alt + Cmd + A для Mac)
  • Пометить выделенные файлы и папки как измененные (обновленные) Ctrl + Alt + E (Alt + Cmd + E для Mac)
  • Посмотреть изменения (доступно в окне инструментов Changes) Ctrl + D (Cmd + D для Mac)
  • Переместить изменения в другой список изменений (доступно в окне инструментов Changes) F6
  • Залить ваши локальные изменения в удаленную систему контроля версий Ctrl + Shift + K (Cmd + Shift + K для Mac)

Варианты сохранения изменений

Когда вы добавляете ваши изменения в систему контроля версий, IntelliJ IDEA позволяет вам производить самые разные операции: поменять список изменений в который вы их добавляете, объеденить изменения с уже добавленными, используя Amend commit, переформатировать измененный код, оптимизировать импорты, убедиться что инспекция кода не выдает никаких предупреждений, обновить информацию о копирайте, или даже загрузить ваши изменения на удаленный ftp сервер.

Игнорируемые файлы

Настроить список игнорируемых файлов можно в меню Settings → Version Control, или с помощью соответствующей кнопки в окне инструментов Changes.

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

Ветви

С помощью IntelliJ IDEA вы можете легко создавать, переключаться, объединять, сравнивать и удалять ветви кода. (только в Git и Mercurial). Чтобы посмотреть список существующих ветвей или создать новую, используйте либо Branches из главного или контекстного меню, или всплывающее меню VCS operations, или элемент управления на правой стороне панели статуса.

Руководство пользователя IntelliJ IDEA. Основы работы с системами контроля версий - 10

Для разных систем контроля версий IntelliJ IDEA производит все операции одновременно, так что вы не должны переключаться между ними.

Shelves, stashes, и patches

Меню Shelves и Stashes помогает вам спрятать некоторые локальные изменения без добавления их в систему контроля версий. Нужно это для того, чтобы переключиться на ту версию файлов что хранится в системе контроля версий и потом иметь возможность вернуться назад к вашим локальным изменениям. Различаются они тем, что Shelves поддерживается самой IntelliJ IDEA и хранятся они локально у вас, а Stashes хранятся в системе контроля версий. Patches позволяет вам сохранить некоторый набор изменений в виде файла, который можно передать по электронной почте или выложить на общедоступный диск и потом применить к коду. Это полезно если вы работаете удаленно, без постоянного подключения к системе контроля версий, но все равно должны передавать ваши изменения другим членам проекта.

Чтобы посмотреть полный список изменений, добавленных в систему контроля версий, отсортированный и отфильтрованый по ветви кода, имени пользователя, дате, папке или даже фразе в описании, откройте вкладку Log в окне инструментов Changes. Это простейший способ найти нужный вам набор изменений, или изучить историю изменений.

У вас есть проект и вы хотите сохранить его на GitHub. Рассмотрим как сделать это из среды разработки IntelliJ IDEA.

Создание локального git репозитория фото

Шаг 1: создадим локальный репозиторий на своем компьютере. Открываем свой проект в IntelliJ IDEA. Для инициализации локального git-репозитория в верхнем меню нажимаем пункт VCS ->Import into Version Control->Create Git Repository.

В открывшемся окошке выбираем путь где хотим инициализировать репозиторий (можно оставить по умолчанию) и нажимаем кнопку Ok:

Выбор проекта для создание локального репозитория фото

После того как будет создан локальный репозиторий, внизу появится меню Version Control. Если меню не появилось, выбираем View->Tool Windows->Version Control:

Открытие Version Control окна фото

Шаг 2: добавим файлы под версионный контроль. В окошке Version Control нас интересует вкладка Local Changes. В списке Unversioned Files находятся файлы, которые не отслеживаются git. Intellij IDEA выделяет их коричневым:

Вкладка Version Control фото

Выберем файлы, изменения в которых мы хотим отслеживать, вызываем контекстное меню и нажимаем кнопку Add to VCS:

Add to VCS фото

Обычно это только java файлы. Конфигурационные и class файлы не следует добавлять в репозиторий.

После добавления, Main.java переместился в список Default Changelist - здесь находятся файлы отслеживаемые git, которые попадут под версионный контроль после коммита. Intellij IDEA выделяет только что добавленные файлы зеленым цветом:

Added files фото

Если проект уже находится под версионным контролем, то при добавлении нового файла, Intellij IDEA предлагает добавить его сразу же под версионный контроль:

Add file to git фото

Соглашаемся - жмем Yes.

Шаг 3: Коммит файлов. Наконец вы хотите сохранить состояние своего проекта в репозиторий git. Для этого делаем так называемый коммит, который создает снимок состояния (snapshot) проекта в данный момент. Выбираем Default Changelist, вызываем контекстное меню и жмем Commit:

Коммит файлов фото

В открывшемся окне заполняем поле Commit message - указываем какие изменения сделаны в этом коммите:

Commit message фото

Состояние всех файлов, находящихся в Default Changelist сохраняется в снимке.

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

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

Вкладка Log меню Version Control фото

Шаг 4: публикация проекта на GitHub. Наконец вы решили залить свой проект на Github. Для этого в верхнем меню нажимаем пункт VCS -> Import into Version Control -> Share Project on GitHub:

Share project фото

Шаг 5: Операция push. После публикации репозитория на Github вы сделали изменения в своем локальном репозитории, и хотите эти изменения добавить на GitHub. Для этого используется операция push: VCS->Git->Push.

Операция push фото

Шаг 6: Операция pull. Если изменения в вашем локальном репозитории устарели и вы хотите подтянуть изменения с GitHub, используйте операцию pull: VCS->Git->Pull.

В этом разделе рассмотрим как зарегистрироваться на GitHub, установить Git, настроить Intellij IDEA для работы с GitHub и клонировать репозиторий с GitHub. Итак, начнем:

Шаг 1 фото

Шаг 2: Выбираете логин, пароль. Вводите свой email, на который придет письмо со ссылкой для подтверждения. По ссылке нужно обязательно перейти.

Шаг 2 фото

Шаг 3 фото

Шаг 4: Переходим в IntelliJ IDEA и открываем Settings (Ctrl+Alt+S). В поисковом поле пишем git и находим меню GitHub и Git:

Шаг 4 фото

Шаг 5: Открываем меню GitHub. Проверяем, что чекбокс "Clone repositories using shh" не выбран. Нажимаем плюсик:

Шаг 5 фото

Шаг 5 фото

Шаг 6: Переходим в меню Git. В поле "Path to Git executable" должен быть прописан путь к установленному на шаге 3 git. Обычно IntelliJ IDEA подтягивает его сама. Если этого не произошло, нажимаете на ". " и ищите его сами. Можно нажать кнопку "Test", чтобы проверить, правильно ли прописан путь к git.exe.

Шаг 6 фото

Шаг 7: В IntelliJ IDEA выбираем File-> New -> Project from Version Control -> Git

Шаг 7 фото

Шаг 8 фото

Шаг 9: Созданный проект необходимо настроить. Открываем Module Settings - выбрать корневой каталог в окне Project и нажать F4 или вызвать контекстное меню и выбрать пункт Open Module Settings:

Шаг 9 фото

Шаг 10: В открывшемся окне выбрать меню Project. Выбрать в поле Project SDK текущую версию Java, в поле Project language level желательно выбрать уровень языка соответствующий выбранному SDK:

Шаг 10 фото

Шаг 11: Выбрать меню Modules, вкладку Sources. Отметить каталог src как Sources, и каталог resources как Resources:

Шаг 11 фото

Шаг 12: Переходим во вкладку Paths, выбираем опцию Use module compile output path и в поле Output path прописываем путь к каталогу out вашего проекта в файловой системе.

Читайте также: