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.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
development:recommended_tools:git [2018/07/24 12:05] – [Deploying on Multiple Servers] demiankatz | development:recommended_tools:git [2022/12/14 18:39] (current) – [Getting Started] demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Git ====== | ====== Git ====== | ||
- | Git is a distributed version control system. | + | Git is a distributed version control system. |
===== Cloning the Repository ===== | ===== Cloning the Repository ===== | ||
- | To get a copy of the latest | + | To get a copy of the latest |
< | < | ||
Line 17: | Line 17: | ||
</ | </ | ||
- | ===== Managing a VuFind | + | ===== Managing a VuFind® |
- | Git can be a useful tool for managing and deploying your local custom installation of VuFind. This section describes one possible approach. It assumes some familiarity with Git; see below for resources to help you learn more. | + | Git can be a useful tool for managing and deploying your local custom installation of VuFind®. This section describes one possible approach. It assumes some familiarity with Git; see below for resources to help you learn more. |
==== Getting Started ==== | ==== Getting Started ==== | ||
- | 1.) Create a fork of the main VuFind | + | 1.) Create a fork of the main VuFind® |
- | 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, | + | 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, |
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). | ||
- | 4.) Set up and configure VuFind (you can follow the usual [[:installation|Installation]] documentation, | + | 4.) Set up [[development:recommended_tools: |
- | 5.) Commit your local custom code and configuration, then push everything up to your fork. | + | 5.) Set up and configure VuFind® (you can follow the usual [[: |
+ | 6.) Commit your local custom code and configuration, | ||
+ | |||
+ | :!: Note that, starting with release 9.0, VuFind® includes rules in its .gitignore file that will prevent you from committing certain files from your local/ | ||
+ | |||
+ | < | ||
+ | !*.ini | ||
+ | !*.json | ||
+ | !*.yaml | ||
+ | </ | ||
==== Deploying on Multiple Servers ==== | ==== Deploying on Multiple Servers ==== | ||
- | As suggested in step 3 above, if you have a development --> staging --> production cycle, it is useful to create a separate branch for each server where you are deploying | + | As suggested in step 3 above, if you have a development --> staging --> production cycle, it is useful to create a separate branch for each server where you are deploying |
=== Establishing and Updating a New Server Branch === | === Establishing and Updating a New Server Branch === | ||
Line 55: | Line 64: | ||
==== 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 | + | 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 " | + | For example, suppose that you established a " |
- | 1.) Set up a remote named " | + | 1.) Set up a remote named " |
2.) Perform a "git fetch upstream" | 2.) Perform a "git fetch upstream" | ||
Line 65: | Line 74: | ||
3.) Perform a "git merge v5.0" to bring in the release 5.0 changes. | 3.) Perform a "git merge v5.0" to bring in the release 5.0 changes. | ||
- | 4.) Update your local configurations and customizations as described in the [[installation: | + | 4.) Run " |
+ | |||
+ | 5.) Update your local configurations and customizations as described in the [[installation: | ||
+ | |||
+ | :!: The [[videos: | ||
===== Learning More ===== | ===== Learning More ===== | ||
Line 73: | Line 86: | ||
* [[http:// | * [[http:// | ||
- | * [[development: | + | * [[development: |
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
development/recommended_tools/git.txt · Last modified: 2022/12/14 18:39 by demiankatz