Department/Project Management

From A-State Computer Science Wiki
Jump to: navigation, search

Introduction

Service Information

Project Management

Git Repositories

Security Information

Both the project management site and the git server require a secure connection. The web portal is only available under HTTPS and git is only available using SSH. In order to use git, you must upload your SSH Public Key to your Phabricator user account.

Authentication

Faculty Accounts

Faculty accounts are local to the Phabricator server and will need to be setup before you can access the site. If you have not already setup an account, please goto to https://phab.cs.astate.edu and click 'Register New Account' under the 'Faculty Login' section.

If you have any problems, please contact the System Administrator.

Student Accounts

Students may log in using their A-State Accounts. Your username is the first part of your A-State email address. To login, enter your username and password in the 'Student Login' section.

Security

Both services are monitored by an Intrusion Detection System. Failed password attempts will result in your IP Address being blocked.

Connecting to the server

Depending on what action you need to preform on the project, you will access the server either through the web service or through git.

Project Management

The project management site is use to manage the project and/or sub-projects. For each project this site provide issue creation/tracking, a wiki, a forum, etc. To access the site:

Git

Git access is only for pushing or pulling changes to the project source code. To use Git, you must first install git on your local machine or on a USB Drive as a Portable App. After you have installed git, you need to setup a local project directory.

All git repositories are accessible through ssh access only. To clone, browse, etc., a repository use the URL listed under Service Information -> Git Repositories.

GitIgnore

A basic gitignore file is included in every git repository created. However, you should setup a global gitignore file that is more specific to your development environment.

Check here for examples of gitignore files. Be sure to look at the global directory as well. The idea is that you put project related ignore expressions in the gitignore file that is part of the project and environment/OS ignore expressions in the global gitignore file.

To create a global gitignore

  • Create the file .gitignore directly under your user directory.
  • Add any ignore expressions you want to the the file.
  • Tell git to use the file.
    git config --global core.excludesfile /ABSOLUTE/PATH/TO/GITIGNORE/FILE
    

Initialize Local Git Repository

These are general instructions that apply to all Operating Systems.

  • Create a directory to contain all of your projects. For this example, the directory will be called MyProjects.
  • Set some global default information for git. This gets added to the .gitconfig file that is found in your user directory.
    git config --global user.name "Your Name"
    git config --global user.email your@email.address
    
  • If you are just starting out: Clone the remote project repository.
    git clone REPOSITORY_URI
    

    If you are not sure what your repository URI is, please login into Phabricator and click on 'Diffusion' on the left hand side of the screen. Now click on the repository you would like to clone. The URI will be listed in the details section next to the label 'Clone'.

  • If you have already started your project locally: Read Adding Files to Local Copy of Repository and First Push with Existing Local Work below.

Adding Files to Local Copy of Repository

These are general instructions that apply to all Operating Systems.

The following instructions assume you have already initialized your local repository as per the instructions above.

  • Copy/Create the files you wish to add to the project in to the repository directory.
  • Add the files to the repository.
    git add filename
    
  • Commit the changes.
    git commit -m "Commit Message"
    

Pushing Changes to Remote Repository

These are general instructions that apply to all Operating Systems.

The following instructions assume you have already initialized your local repository as per the instructions above and have made changes to the repository.
NOTE: Skip to the instructions for First Push with Existing Local Work if you already had files on your system before creating the repository.

  • Push the changes to the remote repository.
    git push origin master
    

First Push with Existing Local Work

If you have existing files on your local machine, your local repository will not match up with the one that already exists on the git server. To force the server to overwrite its version of the repository with the files exactly as they appear on your local machine, you need to perform a forced push as follows:

  • Push your local files and overwrite the remote repository.
    git push --force origin master
    

Warning: You should only perform a forced push on the initial push to the remote. Future pushes to the remote repository should use the normal push command as shown in Pushing Changes to Remote Repository above. If you do a forced push again, you risk losing data if there are changes on the remote that have not been merged with your local copy.

System Administrator

Mr. Joe Burleson
OfficeCSM 122Office HoursBy appointment only.
Phone870-972-3978 ext. 8177Emailjburleson@astate.edu