В данной статье мы более подробно рассмотрим процесс подтверждения изменений в Git.
Предположим, что мы хотим добавить новый класс Team, который имеет следующий вид:
Team.java
package net.proselyte.gittutorial;
import java.util.List;
/**
* Simple JavaBean domain object that represents a Team of {@link Developer}s.
*
* @author Eugene Suleimanov
* @version 1.0
*/
public class Team {
private String teamName;
private List developers;
public String getTeamName() {
return teamName;
}
public void setTeamName(String teamName) {
this.teamName = teamName;
}
public List getDevelopers() {
return developers;
}
public void setDevelopers(List developers) {
this.developers = developers;
}
public void addDeveloperToTeam(Developer developer) {
this.developers.add(developer);
}
public void removeDeveloperFromTeam(Developer developer) {
this.developers.remove(developer);
}
public void shotTeam() {
System.out.println(developers);
}
@Override
public String toString() {
return "Team{" +
"teamName='" + teamName + '\'' +
", developers=" + developers +
'}';
}
}
Добавим данный файл в Git и подтвердим изменения:
git add src/net/proselyte/gittutorial/Team.java
git commit -m "Adding some class to project"
[master 424e9e1] Adding some class to project
1 file changed, 51 insertions(+)
create mode 100644 src/net/proselyte/gittutorial/Team.java
Теперь посмотрим историю коммитов:
git log
commit 424e9e151e84805a2637afe4deb729d14c2c1c28
Author: Eugene Suleimanov
Date: Wed Aug 17 19:46:55 2016 +0300
Adding some class to project
commit 11f75b7bc8884203624ba1d552438d57a7c3559d
Author: Eugene Suleimanov
Date: Wed Aug 17 19:15:53 2016 +0300
Adding .gitignore file.
commit 5e0298b007582bec3a8f4f68db74ba4ddfa40838
Author: Eugene Suleimanov
Date: Wed Aug 17 19:15:21 2016 +0300
Adding .gitignore file
commit 97d5de493ac15f821b109b7b0375d4f94e1f2dd1
Author: Eugene Suleimanov
Date: Wed Aug 17 19:10:41 2016 +0300
Adding classes Developer.java and Project.java
commit a0f051aa654aa43db508f460b5bd28e8a41fe2ae
Author: Eugene Suleimanov
Date: Wed Aug 17 17:43:12 2016 +0300
Initial commit of the project.
commit 0853db5f06305eae525b954f587ecc49c62debd9
Author: Eugene Suleimanov
Date: Wed Aug 17 17:41:35 2016 +0300
Initial commit of the project
commit 5e8179a97b971f8fd11118e64f4d624b5ddf3ea6
Author: Eugene Suleimanov
Date: Wed Aug 17 17:20:53 2016 +0300
Initial commit of the project
commit 3c199cf96dba9131bb3df299aa819b9cbef6a870
Author: Eugene Suleimanov
Date: Wed Aug 17 17:20:27 2016 +0300
Initial commit of the project
Несколько поразмыслив, мы решили изменить комментарий и указать более подробно характер изменений, а именно – указать, что был добавлен класс Team, который содержит коллекцию разработчиков. Для этого нам необходимо использовать следующую команду:
git commit --amend -m "Adding class Team that contains collection of Developers"
[master c0b6471] Adding class Team that contains collection of Developers
Date: Wed Aug 17 19:46:55 2016 +0300
1 file changed, 51 insertions(+)
create mode 100644 src/net/proselyte/gittutorial/Team.java
Теперь снова просмотрим историю коммитов:
git log
commit c0b64715ee2ca606921e7a14a325d3a9c8aa3db7
Author: Eugene Suleimanov
Date: Wed Aug 17 19:46:55 2016 +0300
Adding class Team that contains collection of Developers
commit 11f75b7bc8884203624ba1d552438d57a7c3559d
Author: Eugene Suleimanov
Date: Wed Aug 17 19:15:53 2016 +0300
Adding .gitignore file.
Как мы видим, комментарий крайнего коммита изменился на необходимый.
На этом мы заканчиваем подробное изучение подтверждения изменений.
В следующей статье мы рассмотрим процесс записи изменений из локального репозитория на удалённый (операция push).