DIGITAL LIBRARY
DEVELOPING GIT LEARNING WEB APPLICATIONS CONSIDERING GITHUB FLOW
Osaka Electro-Communication University (JAPAN)
About this paper:
Appears in: EDULEARN21 Proceedings
Publication year: 2021
Pages: 2043-2048
ISBN: 978-84-09-31267-2
ISSN: 2340-1117
doi: 10.21125/edulearn.2021.0465
Conference name: 13th International Conference on Education and New Learning Technologies
Dates: 5-6 July, 2021
Location: Online Conference
Abstract:
Recently, the use of version control systems has become an essential part of software development. By using a version control system, you can save the status of a file(s) as a history whenever you want. This allows us to see the differences in the changes made to the file, and also allows us to easily revert to the original state if any problems occur. One of the most popular version control systems in use today is Git. Git is one of the distributed version control systems and is characterized by the fact that it can be replicated on each computer. This feature helps to facilitate collaborative development.

However, Git has many functions and is relatively difficult to operate. Therefore, it is difficult for programming beginners to handle Git. On the other hand, there is a service called GitHub, which is used to share Git repositories on the Internet for collaborative team development and open source software development, and it is used in many places. GitHub Flow, a development and operation method that utilizes GitHub's features, exists and is highly adopted by various organizations. Therefore, before starting software development with multiple people, engineers need to learn not only how to use Git, but also how to follow the GitHub Flow. In this paper, we developed a web application for learning the basic operations of Git and GitHub Flow.

The material we have developed is hands-on so that the learner can experience developing according to GitHub Flow after learning it. The material is intended for people who are new to Git development and need to follow GitHub Flow. There are two parts to this course: one is a tutorial part to learn the basic Git operations, and the other is a GitHub flow part to learn the GitHub flow.

The tutorial part of the course is designed for students to be able to perform basic Git operations while operating a terminal on a web application. There are seven basic operations to learn: creating a repository, recording changes, branching and merging, redoing commits, undoing commits, undoing work, and pushing to GitHub. The GitHub Flow part of the course is designed for students to experience and learn program development along with the GitHub Flow. There are six operations to learn GitHub Flow: forking and cloning, connecting to the original repository, creating a branch, doing exercises, pushing a branch, and creating a pull request.

After using the developed materials in the class, we conducted a questionnaire evaluation. From the results of the questionnaire, it was found that it was easy to learn about collaborative development using git in the developed web application system, but many students felt that the confirmation test was too difficult. This is not because the difficulty level of the confirmation test is actually high, but because the amount of practice before tackling the confirmation test is insufficient, which is thought to be the reason why the students feel the difficulty level is high. In addition, they were able to solve the problems when they were able to see the teaching materials that explained git, which suggests that they had a minimum level of understanding. Therefore, it is thought that by increasing the amount of practice before the confirmation test, the students can solve the problems without seeing the git learning material.
Keywords:
Git, GitHub, e-learning, programming.