Git and Subversion
- Subversion (SVN) repository setup
- Git repository setup
- Git repository setup (SSH)
- Generating Git SSH key-pairs
- The difference between Git and SVN
- Migrating from SVN to Git
- Repository callbacks
- Powerful commit messages
- Manage SVN dumps remotely
- Authentication and Identification,
- Committing and Pushing,
- Additional Resources
Git is a distributed version control system, originally developed by Linus Torvalds for Linux kernel development. It has grown over the years to serve as the development platform for many other very large and active open source projects. It has grown for a very simple reason: it is excellent.
Once you have the Git client installed on your development machine, accessing your repository is simple.
NOTE: Unfuddle Git repositories are, by default, accessed via HTTPS (SSL). If you need to access your Git repository via SSH, please see our Git over SSH instructions.
Authentication and Identification
You will need to enter your username and password for every pull or push. However, if you wish to automatically authenticate, you can add the following lines to your
~/.netrc (Linux and Mac OS) or
C:\Users\Name\_netrc (Windows) file:
machine subdomain.unfuddle.com login username password password
NOTE: subdomain, username, and password must be replaced with values appropriate to your account. Also, be sure to modify the
~/.netrc file permissions so that is visible only to you, since the password is stored in plain text.
If this is your first time using Git, you will want to enter your name and email information to match your Unfuddle settings into your Git config. This information is referenced in Unfuddle to show the Author of commits as well as tracking time on your tickets via Powerful Commit Messages. You can do this with the following commands:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
NOTE: If you already have this set globally in your config but would like to update your Unfuddle repository with this information you can remove the
--gloabl option and run these commands from within the local repository after you clone or import it. This will override any global configs set in your git config for the specific repository only.
Once you have created your repository in your account, or if you want to copy an already established repository, you can clone that repository using the following command:
$ git clone https://subdomain.unfuddle.com/git/subdomain_abbreviation/
NOTE: subdomain and abbreviation must be replaced with values appropriate to your account and repository.
Committing and Pushing
Before you can push new code to the Unfuddle repository you must be sure to add your files to the local index then commit them.
$ git add * $ git commit -am 'initial commit'
Finally, you are now ready to push any locally made commits to your newly created Unfuddle Git repository.
$ git push unfuddle master
NOTE: If the amount of data you push exceeds Git’s http post buffer size, which is default to 1MB, an error occurs. To prevent this, run this command that will increase it to 512MB:
$ git config --global http.postBuffer 524288000
Congratulations! You should now see all of your commits and files within your Unfuddle repository up online. Other members of your project may now clone the repository.
For more information on how to get the most out of Git, we recommend some of the following resources: