Using Git & GitHub programming a PLC
Human memory is not infallible; as the years go by, we tend to forget more things. Engineers have to write many technical notes, backup information, organize documents, keep track of tasks, and structure projects. Today I want to share a tool created by Mr. Linus Torvalds (the father of Linux) called Git. Although many might think that this is a tool for programmers, it is useful for everyone who uses a computer at work. Git is free and open-source software that allows you to track file versions. You associate it with a folder where you keep a project, a job or a group of related documents. When we use Studio5000 to program Allen & Bradley PLCs, Process Portal TIA for Siemens PLCs, or a National Instruments PAC, an Arduino card, sometimes we want to go back to a previous version, or we want to incorporate some changes that sometimes do not work well and we want to go back to a stable version. Git allows us to carry version branches, almost like parallel universes, which if they fail allow us to return to anchor points or if the changes are good, continue to unify or merge the versions. All this is accompanied by messages that document the changes. In the folder that we associate with Git, a local repository will be created that will carry all the versions, without slowing down our PC. It is true that many of the commands are executed from a Terminal (Git Bash), but many other tools such as QGit, Git GUI, and TortoiseGit generate a graph of the records.
GitHub on the other hand is a Microsoft product, it has free and business versions, with private and public options. GitHub is very useful for group work and works as a remote repository, which you can link to your local repository. In this way, you have your repository in the cloud and you can share it so that others can collaborate, give their opinion, comment, offer improvements, participate or simply use it personally. GitHub also incorporates tools to manage projects in a very simple way, nothing comparable to Oracle's Primavera or Microsoft's Project, but with basic visualizations such as Gantt chart or Kanban board
Git & GitHub should be tools that we should all know and at least be aware of their existence, and know their potential, because in a social media era like the current one, in a collaborative work team, it is very useful. It facilitates project documentation and version control.