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 [2020/08/03 14:57] – 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, | ||
Line 29: | Line 29: | ||
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 [[development: | + | 4.) Set up [[development: |
- | 5.) Set up and configure | + | 5.) Set up and configure |
6.) Commit your local custom code and configuration, | 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 59: | Line 66: | ||
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. | 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 70: | Line 77: | ||
5.) Update your local configurations and customizations as described in the [[installation: | 5.) Update your local configurations and customizations as described in the [[installation: | ||
+ | |||
+ | :!: The [[videos: | ||
===== Learning More ===== | ===== Learning More ===== | ||
Line 77: | Line 86: | ||
* [[http:// | * [[http:// | ||
- | * [[development: | + | * [[development: |
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
development/recommended_tools/git.1596466658.txt.gz · Last modified: 2020/08/03 14:57 by demiankatz