Explore chapters and articles related to this topic
Collaboration with version control
Published in Tiffany Timbers, Trevor Campbell, Melissa Lee, Data Science, 2022
Tiffany Timbers, Trevor Campbell, Melissa Lee
To version control a project, you generally need two things: a version control system and a repository hosting service. The version control system is the software responsible for tracking changes, sharing changes you make with others, obtaining changes from others, and resolving conflicting edits. The repository hosting service is responsible for storing a copy of the version-controlled project online (a repository), where you and your collaborators can access it remotely, discuss issues and bugs, and distribute your final product. For both of these items, there is a wide variety of choices. In this textbook we’ll use Git for version control, and GitHub for repository hosting, because both are currently the most widely used platforms. In the additional resources section at the end of the chapter, we list many of the common version control systems and repository hosting services in use today.
Software Quality Domain
Published in Marvin Gechman, Project Management of Large Software-Intensive Systems, 2019
Software Version Control. Version control, also called revision or source control, involves the management of changes to source code, documentation and other collections of information. It is an important component of Software Configuration Management because it is common for multiple versions of the same software, or documentation, to be deployed in different sites and for Software Developers to be working simultaneously on multiple version updates. Errors or features of the software may only be present in certain versions, so it is important to be able to retrieve and run different versions of the software to determine in which version(s) the problems occur.
Teaching IoT Smart Sensors Programming for a Smarter World
Published in Nishu Gupta, Srinivas Kiran Gottapu, Rakesh Nayak, Anil Kumar Gupta, Mohammad Derawi, Jayden Khakurel, Human-Machine Interaction and IoT Applications for a Smarter World, 2023
Hugo Martins, Nishu Gupta, Manuel José Cabral dos Santos Reis
Git (https://git-scm.com/) is today's reference of a free- and open-source distributed version control system, designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint. It was originally developed by Linus Torvalds (creator of the Linux kernel) and it is compatible with a wide variety of operating systems and integrated development environments (IDE). It has a distributed architecture, a repository containing the complete history of all changes (local and remote), and keeps a copy of all code development work. In its main characteristics, we can include safety, flexibility, version control, and high performance.
A terrestrial Internet from the quilombos: the transatlantic evolution of baobab from colonial to digital capitalism
Published in Tapuya: Latin American Science, Technology and Society, 2022
Shaozeng Zhang, Mariana Ribeiro Porto Araujo, Ana Carolina de Assis Nunes
Since around 2009, the quilombo digital network Baobaxia has gradually evolved into a hybrid Internet. For example, a few communities in Goiás (Rede mocambos, n.d.) built cell phone towers for Internet connection with governments’ institutional and Meta-recycling’s technological support. Even with that, the Internet connection is too limited and slow to transfer multimedia data. The connection of many quilombos with Baobaxia was built through satellite hookups and free software without going through mainstream Internet portals. Baobaxia continues serving as a distributed database, but more than simply through physical transport of digital devices. A foundational step was building the Git data repository. Git (n.d.) is a free and open-source version control system widely used for large distributed software development projects. The use of Git in Baobaxia is unique because it was designed to allow data locally uploaded to individual community stations of Baobaxia without Internet connection, and later shared with the whole network with Internet connection. This unique design (Rede mocambos, n.d.) makes Baobaxia continuously adaptive to the quilombos’ needs, with or without Internet connection, and in high or low bandwidth. While each community station is a node or local server of the network, it is more often called a Mucua (with capital M) (Figure 3). In addition to the community Mucuas, there are also mobile Mucuas, including external hard drives continuously used for data transport in mucua shells and also laptop Mucuas. As an active technology recycler proudly shared, “for example, when we walk around, my laptop is a Mucua! We place it in a plaza, people join this network, and we can make an event or something like that with people browsing on the internet.”
HardOps: utilising the software development toolchain for hardware design
Published in International Journal of Computer Integrated Manufacturing, 2022
Julian Stirling, Kaspar Bumke, Joel Collins, Vimal Dhokia, Richard Bowman
DevOps toolchains generally include version control software, project management tools, and tools to automate computational tasks in a reproducible manner. Version control allows the work of multiple software engineers to be combined, and creates a permanent record of the history of the code. Project management tools include issue tracking systems used to assign units of work and monitor their progress. This issue tracking may integrate with more advanced tools for creating project timelines and roadmaps.