I would like to maybe contribute to the oneifinity github. I have some programming expericence but tootal noob when it comes to github. My question is there a sim/emulator to test my changes or I have to run them on my actual controller. Seems like there should be a emulator for software testing.
it is important to understand that git is not github.
Git is a version control software. It has many advantages in comparison to other versioning systems. I run git since it exists and can only recommend it. It is a free and open source software.
In fact the actual way to use and contribute to a git repository is to first mirror the codebase of the repository on your local computer. This is done by a simple command in your local installation of git. This is because git is designed to be a Distributed Version Control System (as opposed to a server-client service).
GitHub, Inc. is a internet hoster that uses git. It has nothing to do with git except that it uses git to provide its service. You do not need to use github.com for working on a git repository or your fork of one. You can use your local installation of the git software alone to contribute to any git repository.
I do not particularly like github.com, and since it was acquired by microsoft, well…
If you are new to using a version control software, it would be the best to first install git and learn to use it and to understand how it works.
So yes, it would be the best to test your code on your local controller. Or, if it’s just related to the web interface of the application, on a running copy of the OS image.
Under Debian GNU/Linux and many of its derivates it would go this way: apt-get install git git-doc
After installation, you would create a folder for working with Git, e.g. called ‘git’:
e.g. mkdir git or whatever you do to create a folder on your Operating system.
Then you would do:
cd git # move into the folder you created
git config --global user.name "Firstname Name" # Note: If you skip this step, git will guess your name using your system information
git config --global user.email name@example.com # Note: If you skip this step, git will guess your e-mail address using your system information
In order to contribute to a repository that is hosted on GitHub, you create an account and you “fork” the project under your username. This is not a fork in the classical meaning of the word “fork”, it’s just a work copy on the github.com site. After you’ve cloned this own work copy to your local computer (with the “clone” command shown above), you create a topic branch, you work on what you want to contribute, and when you’re done then you push your contributions to your “fork” on github.com.
Then you create a pull request on the github.com site to make the owner of the original repository aware of your contribution. This has the advantage that any user can contribute without having push access to the original repository.
If you don’t want to register at GitHub.com, you can still work on your copy of the repository and after you’re done with the work you want to contribute, you create a patch and submit it to the owner of the repository. This is the classical way (outside of github.com) if you have no push access to a repository and are not running your own git server. See git diff and git format-patch.