About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
development:recommended_tools:git

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
development:recommended_tools:git [2018/07/24 12:08] demiankatzdevelopment:recommended_tools:git [2021/05/03 20:06] – [Upgrading] demiankatz
Line 1: Line 1:
 ====== Git ====== ====== Git ======
  
-Git is a distributed version control system.  It is used for development of VuFind 2.x+, replacing [[legacy:vufind_1.x_developer_manual:subversion|Subversion]], which was used for maintaining the 1.x code.+Git is a distributed version control system.  It has been used for the development of VuFind since version 2.0.
  
 ===== Cloning the Repository ===== ===== Cloning the Repository =====
Line 25: Line 25:
 1.) Create a fork of the main VuFind repository. If you plan on tracking your configuration files in Git, be sure that this is private -- you can either use a private GitHub repository or host your own Git repository on a local server. 1.) Create a fork of the main VuFind repository. If you plan on tracking your configuration files in Git, be sure that this is private -- you can either use a private GitHub repository or host your own Git repository on a local server.
  
-2.) On your server, clone the fork and check out the appropriate branch or tag for your needs. If you want to stay up to date with bleeding-edge development, use master. If you want to stick to an officially-released version, use a tag like v4.1.3 or v5.0.+2.) On your server, clone the fork and check out the appropriate branch or tag for your needs. If you want to stay up to date with bleeding-edge development, use dev. If you want to stick to an officially-released version, use a tag like v4.1.3 or v5.0.
  
 3.) From the checked-out branch or tag, create a new branch for your local work on the server (for example, you might create a development branch for your development server, a staging branch for your staging server, and a production branch on your production server). 3.) From the checked-out branch or tag, create a new branch for your local work on the server (for example, you might create a development branch for your development server, a staging branch for your staging server, and a production branch on your production server).
Line 57: Line 57:
 ==== Upgrading ==== ==== Upgrading ====
  
-You will periodically want to update your fork with upstream changes -- for example, when a new feature you need is added to the master branch, or when a new official release is issued.+You will periodically want to update your fork with upstream changes -- for example, when a new feature you need is added to the dev branch, or when a new official release is issued.
  
 For example, suppose that you established a "development" branch based on the v4.1 tag, and you wish to upgrade to VuFind 5.0. You could follow these steps: For example, suppose that you established a "development" branch based on the v4.1 tag, and you wish to upgrade to VuFind 5.0. You could follow these steps:
Line 70: Line 70:
  
 5.) Update your local configurations and customizations as described in the [[installation:migration_notes|migration notes]]. As noted there, always check the [[:changelog|changelog]] for possible breaking changes. You may be able to automate some of the local updates (configurations and templates) by using the technique described in [[http://blog.library.villanova.edu/libtech/2015/07/23/automatically-updating-locally-customized-files-with-git/|this article]]. 5.) Update your local configurations and customizations as described in the [[installation:migration_notes|migration notes]]. As noted there, always check the [[:changelog|changelog]] for possible breaking changes. You may be able to automate some of the local updates (configurations and templates) by using the technique described in [[http://blog.library.villanova.edu/libtech/2015/07/23/automatically-updating-locally-customized-files-with-git/|this article]].
 +
 +:!: The [[videos:upgrading_vufind_using_git|Upgrading VuFind Using Git]] video demonstrates a procedure similar to the one described here.
 ===== Learning More ===== ===== Learning More =====
  
development/recommended_tools/git.txt · Last modified: 2022/12/14 18:39 by demiankatz