Application version management » History » Version 5
Herve Caumont, 2013-10-03 13:13
1 | 1 | Herve Caumont | h1. Application version management |
---|---|---|---|
2 | |||
3 | 4 | Herve Caumont | {{>toc}} |
4 | |||
5 | 1 | Herve Caumont | Application version management benefits from different tools available from a Developer Cloud Sandbox. |
6 | |||
7 | h2. Using Git |
||
8 | |||
9 | Git is a distributed version control and source code management system with an emphasis on speed. |
||
10 | Every Git working directory is a full-fledged local repository with complete history and full version tracking capabilities, and thus not dependent on the network or a central server. |
||
11 | |||
12 | We will describe here how to setup a Git working copy of an application folder, locally to a Sandbox, and how to push it to a GitHub code repository, for application sharing and collaborative development environment on the Web. |
||
13 | |||
14 | GitHub (http://github.com) is a web hosting service for software development projects, that uses the Git version control system. The service provides social networking tools such as feeds, watchers, and a social network graph to visualize how developers exploit their versions of a repository. |
||
15 | |||
16 | !local-remote.png! |
||
17 | |||
18 | h3. Step by step with Git |
||
19 | |||
20 | 5 | Herve Caumont | To initialize your Git local repository, with a synchronization to a web backup repository (GitHub), one option is to start from a repository previously initialized for a Sandbox project on Terradue's GitHub. |
21 | 1 | Herve Caumont | |
22 | 5 | Herve Caumont | Start to save all the files of your /application folder. |
23 | Then ensure you have a clean, empty /application folder. |
||
24 | 1 | Herve Caumont | <pre> |
25 | [user@sb ~]$ cd /application |
||
26 | 5 | Herve Caumont | [user@sb ~]$ ls -al |
27 | </pre> |
||
28 | Then type: |
||
29 | <pre> |
||
30 | 1 | Herve Caumont | [user@sb ~]$ git clone git@github.com:Terradue/geowow-1.git ./ |
31 | </pre> |
||
32 | |||
33 | You'll have to give your certificate passphrase. |
||
34 | 5 | Herve Caumont | As a result, this is creating the Sandbox's Git repository (.git) under your "application" folder, with synchronization to the web-based GitHub repository "geowow-1". |
35 | 1 | Herve Caumont | |
36 | 5 | Herve Caumont | *From working directory to staging area* |
37 | |||
38 | Then copy your Application files back in your /application working directory. |
||
39 | Add your Application files in the sandbox's Git version control system: |
||
40 | 1 | Herve Caumont | <pre> |
41 | [user@sb ~]$ cd /application |
||
42 | [user@sb ~]$ git add application.xml yourSubFolder1/ |
||
43 | </pre> |
||
44 | |||
45 | 5 | Herve Caumont | As a result, this is adding (referencing) file contents to the Git index (staging area). |
46 | 1 | Herve Caumont | |
47 | 5 | Herve Caumont | *From staging area to local repository* |
48 | |||
49 | 1 | Herve Caumont | To commit your Application in the sandbox's Git version control system: |
50 | <pre> |
||
51 | [user@sb ~]$ git commit |
||
52 | </pre> |
||
53 | |||
54 | 5 | Herve Caumont | As a result, this is recording files changes to the Git local repository. |
55 | 1 | Herve Caumont | |
56 | 5 | Herve Caumont | *From local repository to remote repository* |
57 | |||
58 | To push your application on a webbackup area, for example on a dedicated GitHub repo (here the GitHub private repo https://github.com/Terradue/geowow-1 provided by Terradue to Sandbox users): |
||
59 | 1 | Herve Caumont | <pre> |
60 | 5 | Herve Caumont | [user@sb ~]$ git push |
61 | 1 | Herve Caumont | </pre> |
62 | |||
63 | 5 | Herve Caumont | As a result, this is updating the remote repository with the files changes from the Git local repository. |
64 | 1 | Herve Caumont | |
65 | h2. Using Hadoop runs folders |
||
66 | |||
67 | Upcoming! |