Руководство по Git. Внесение изменений.

В данной статье мы рассмотрим процесс внесения изменений в локальный Git репозиторий.

Предположим, что нам необходимо удалить один файлы и добавить другие.

Так выглядит изначальная структура нашего проекта:

GitTutorialInitialStructure

Удалим файл HelloWorld.java и добавим следующие два класса:

Developer.java


package net.proselyte.gittutorial;

/**
 * Simple JavaBean domain object that represents a Developer.
 *
 * @author Eugene Suleimanov
 * @version 1.0
 */

public class Developer {
    private String firstName;
    private String lastName;
    private String specialty;
    private Integer salary;

    public Developer() {
    }

    public Developer(String firstName, String lastName, String specialty, Integer salary) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.specialty = specialty;
        this.salary = salary;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getSpecialty() {
        return specialty;
    }

    public void setSpecialty(String specialty) {
        this.specialty = specialty;
    }

    public Integer getSalary() {
        return salary;
    }

    public void setSalary(Integer salary) {
        this.salary = salary;
    }

    @Override
    public String toString() {
        return "First Name: " + firstName +
                "\nLast Name: " + lastName +
                "\nSpecialty: " + specialty +
                "\nSalary: " + salary;
    }
}

Project.java


package net.proselyte.gittutorial;

/**
 * Main class of application
 *
 * @author Eugene Suleimanov
 * @version 1.0
 */

public class Project {
    public static void main(String[] args) {
        Developer developer = new Developer("Eugene", "Suleimanov", "Java", 3_000);

        System.out.println("Developer Information:\n");
        System.out.println(developer.toString());
    }
}

Теперь проверим статус Git с помощью команды


 git status 

On branch master
Changes not staged for commit:
  (use "git add/rm ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   .idea/workspace.xml
        deleted:    out/production/GitTutorial/net/proselyte/gittutorial/HelloWorld.class
        deleted:    src/net/proselyte/gittutorial/HelloWorld.java

Untracked files:
  (use "git add ..." to include in what will be committed)

        out/production/GitTutorial/net/proselyte/gittutorial/Developer.class
        out/production/GitTutorial/net/proselyte/gittutorial/Project.class
        src/net/proselyte/gittutorial/Developer.java
        src/net/proselyte/gittutorial/Project.java

no changes added to commit (use "git add" and/or "git commit -a")

Для того, чтобы добавить наши изменения в локальный репозиторий git, нам необходимо выполнить следующие две команды в терминале:
1. Добавить файлы в Git


 git add --all

2. Подтвердить изменения


git commit -m "Adding classes Developer.java and Project.java"

[master 97d5de4] Adding classes Developer.java and Project.java
 7 files changed, 156 insertions(+), 42 deletions(-)
 create mode 100644 out/production/GitTutorial/net/proselyte/gittutorial/Developer.class
 delete mode 100644 out/production/GitTutorial/net/proselyte/gittutorial/HelloWorld.class
 create mode 100644 out/production/GitTutorial/net/proselyte/gittutorial/Project.class
 create mode 100644 src/net/proselyte/gittutorial/Developer.java
 delete mode 100644 src/net/proselyte/gittutorial/HelloWorld.java
 create mode 100644 src/net/proselyte/gittutorial/Project.java

И добавим файл .gitignore, который позволят нам игнорировать некоторые файлы и папки (классы, конфигурационные файлы IDE, jar-файлы и т.д.):


# Folders
.idea/*
out/*

# Files
*.class

В данном случае мы игнорируем содержимое папок .idea/ и out/, а также все файлы с расширение *.class.

Повторим процедуру добавления файлов в локальный репозиторий и подтверждения изменений:


git add --all


git commit -m "Adding .gitignore file"

[master 5e0298b] Adding .gitignore file
 2 files changed, 28 insertions(+), 4 deletions(-)
 create mode 100644 .gitignore

Проверим статус git ещё раз:


git status 

On branch master
nothing to commit, working directory clean

Все файлы добавлены и изменения подтверждены.

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