Version control: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 22: Line 22:
If you want to contribute to an existing project, you don't really have any choice - you will have to use the tool that has been chosen by the initial development team. If you are starting your own project, the choice will depend on the breadth of your project. If it's a project with only a few contributors, which will remain private and for which you would simply like to have a history of all the modifications, a first generation tool like [https://en.wikipedia.org/wiki/Apache_Subversion SVN] can be sufficient. If your project is larger, with external collaborators, you should consider a second generation tool like [https://en.wikipedia.org/wiki/Git_%28software%29 Git] or [https://en.wikipedia.org/wiki/Mercurial Mercurial].  
If you want to contribute to an existing project, you don't really have any choice - you will have to use the tool that has been chosen by the initial development team. If you are starting your own project, the choice will depend on the breadth of your project. If it's a project with only a few contributors, which will remain private and for which you would simply like to have a history of all the modifications, a first generation tool like [https://en.wikipedia.org/wiki/Apache_Subversion SVN] can be sufficient. If your project is larger, with external collaborators, you should consider a second generation tool like [https://en.wikipedia.org/wiki/Git_%28software%29 Git] or [https://en.wikipedia.org/wiki/Mercurial Mercurial].  


Another question to consider when choosing a version control tool is where you will host your repository. If you and your collaborators are always working on the same single machine then having a local repository only visible on that machine could be sufficient. However, if you are working across multiple machines, or working with collaborators working on different machines, a repository accessible via the internet will be helpful. This will allow you to easily synchronise your code between machines and also provide additional safety for your code by being distributed. There are a number of ways to accomplish this, from hosting and setting up the repository your self (eg. [https://civicactions.com/blog/how-to-set-up-an-svn-repository-in-7-simple-steps/ svn],[https://about.gitlab.com/?utm_source=google&utm_medium=cpc&utm_campaign=Search%20-%20Brand&utm_content=GitLab%20-%20Open%20Source%20Git&utm_term=gitlab&gclid=CPWslub9vtACFZSEaQodwzoAew git]), to using one of the available online services (e.g. [https://bitbucket.org/product bitbucket], [https://github.com/ github], [https://about.gitlab.com/ gitlab] [http://www.cloudforge.com/pricing?gclid=CKGBsIj-vtACFRCRaQod7sUNew cloudForge]).
=== Repository Hosting ===
Another question to consider when choosing a version control tool is where you will host your repository. If you and your collaborators are always working on the same single machine then having a local repository only visible on that machine could be sufficient. However, if you are working across multiple machines, or working with collaborators working on different machines, a repository accessible via the internet will be helpful. This will allow you to easily synchronise your code between machines and also provide additional safety for your code by being distributed. There are a number of ways to accomplish this, from hosting and setting up the repository your self on your own server (eg. [https://civicactions.com/blog/how-to-set-up-an-svn-repository-in-7-simple-steps/ svn],[https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols git],[https://about.gitlab.com/?utm_source=google&utm_medium=cpc&utm_campaign=Search%20-%20Brand&utm_content=GitLab%20-%20Open%20Source%20Git&utm_term=gitlab&gclid=CPWslub9vtACFZSEaQodwzoAew gitlab]), to using one of the available online services (e.g. [https://bitbucket.org/product bitbucket], [https://github.com/ github], [https://about.gitlab.com/ gitlab], [https://sourceforge.net/ sourceforge], [http://www.cloudforge.com/pricing?gclid=CKGBsIj-vtACFRCRaQod7sUNew cloudForge]) which is hosted on their servers and do not require you to have a server that is always accessible.


<!--T:8-->
<!--T:8-->
<small>This page is derived from [https://wiki.calculquebec.ca/w/Gestion_de_code_source].</small>
<small>This page is derived from [https://wiki.calculquebec.ca/w/Gestion_de_code_source].</small>
</translate>
</translate>
cc_staff
1,486

edits

Navigation menu