Help Connecting to File Repository

From vjmedia
Revision as of 13:58, 12 March 2015 by Vjmanzo (talk | contribs) (6.Merge Your Branch with the Head Branch or Publish a New Branch)

Help Connecting to File Repository


Download & Install a Git Client

A git client is used to connect to the file repositories for our projects. There are many commercial and free git clients out there. If you don't have one that you prefer, try the ones listed below.

For Mac: Tower

For Windows: Eclipse


Understand Git and Versional Control

Using a Git client allows us to collaborate on projects with version control. Using a Git client, you can download, or "pull" the latest changes to a project from the server, or "repository", modify them on your computer, and upload, or "push" the latest modified files back to repository.

Simple Help Videos




Using the Repository

You need three pieces of information to connect to the repository:

  1. the remote repository address
  2. the username, and
  3. the password.

The repository link for each project is given on the project page. The login credentials change all the time, so ask Manzo for the current username and password.




1. Connecting to the Repository

Inside the git clients, look for something that says "Clone" or "Connect to Remote Repository". Remember: a "local repository" refers to the project folder on your computer (local) not the one on the project server (remote).

Repo0.png

Add the appropriate 1) repository address, 2) username, and 3) password to the connection screen and click connect. You should also select a folder on your computer (locally) where you will store the project files.

Repo1.png




2. Pulling the Files

Once you connect to the repository, the git client should automatically begin downloading, or "pulling", the files from the server to the folder you identified in the previous step. If this did not seem to happen automatically, look for an icon that says "Pull" while selected on the project name of the repository you've connected to.


Repopull2.png The media player is loading...




3. Create a New Branch

While you're working on this project, others will be working on aspects of the project simultaneously. For this reason, we'll create a "branch" version of the project for you to work on. Later on, we'll merge your branch with the master project.

To create a new branch:

  • Right click the master HEAD branch and click "Create New Branch from Master"

Repobranch1.png

  • Give the new branch a folder name like Feature and a branch name like New_Library

Repobranch2.png

  • Finally, mark the new branch as the new HEAD branch by double clicking it. You will see the HEAD icon change to your branch. Any changes made to the git project files will be tracked in this new branch instead of the master head.

Repobranch3.png

The media player is loading...




4. Editing Your project Files

Once the latest files are pulled, you can close the git client and open the local folder changing files as needed to work on the project (using Unity 3D, or Max, or whatever software is associated with those project files). You won't need to open the git client again until you are ready to "commit" the changes to the local project and "push" them to the remote repository. This is obviously the most important stage in the project's development.


Repolocalfolders.png






5. Committing Changes

Once you made the edits you'd like to your project, open your git client again. It should note the files that have changed since you last opened your git client.


Repochanged.png


You need to "Commit" these changes to the local project so your git client can keep track of what you've done. Enter a "Commit" title and message describing the changes you've made to the project since you pulled the files from the server, and click the "Stage All Files" button to prepare them to be published to the remote repository. Note:Depending on number of edits you've done, the "Staging" process make take a little time before the git client allows you to click "Commit" and finalize this step. This tutorial provides no support if you have commitment issues.

In general, only commit related changes at one time "I modified the color scheme for these files", or "I added a sample instrument". Something simple. Don't wait until your commit message lists twenty different major changes to the project like "I restructured the folders, and deleted the old project, and modified the colors for these files, and...". That will make it difficult for everyone to track the evolution of the project. You do not need to commit all changed files shown in the staging area at one time. You can make multiple commits to keep things organized.

Repocommitmessage.png

The media player is loading...






6.Merge Your Branch with the Head Branch or Publish a New Branch


Should I Merge My Branch or Publish a New Branch?

  • If you are continuing the development of an existing project such as finishing a specific activity, or improving some aspect of the GUI, you should probably Merge your branch into the master branch as described below.
  • If you are creating new or derivative work based on a template or some existing project such as making new activities, audio samples, characters, cutscenes, mini-games, you should probably Publish a New Branch as described below.

In either scenario, ask [User:Vjmanzo Manzo] if you are unsure.


Merge Your Branch

Before we push your changes back to the repository, you'll want to merge your changes with the master HEAD branch.

To merge your branch with the master HEAD:

  • Click the master HEAD branch from the left menu and click the "Merge" button to merge your branch to the HEAD branch

Repomerge1.png

  • Select the branch that you'd like to merge onto the HEAD branch

Repomerge2.png

  • Finally, click the Merge button to merge your changes. The final step is to publish your changes to the remote repository.

Repomerge3.png

The media player is loading...




Publish a New Branch

If your new branch is so radically different from the original HEAD project on the server, such as a "we made a brand new derivative game from the existing game on the master HEAD", you'll want to push your branch to the repository as a new branch instead of merging your changes. Ask [[User:Vjmanzo Manzo] for permission about this first. In most cases, you will likely just need to merge your changes instead of creating a new branch.

To publish a new branch:

  • Click your new branch from the left menu and click the "Push" button

Repopublishbranch1.png

  • Select your branch from the dropdown menu (should be the same Folder>Branch structure on both menus

Repopublishbranch2.png

  • Click Publish Branch

Repopublishbranch3.png







5. Pushing Changes

Finally, "Push" the changes by identifying the "Push" button in your git client. This will push your changes to the server. In some cases, Manzo will tell you when it is appropriate to making a new "branch" project, but, in general, push the changes to the "master" branch.

Repopush.png