Setting Up a Remote GIT Repository on Windows Server

From Littledamien Wiki
Jump to navigation Jump to search

Overview[edit]

Using GitHub instead for now. Most of the information in this article is outdated, or irrelevant.

I’m not sure if this will ultimately be something that I will use, but I’m thinking of moving away from Perforce and using Git instead. The description of using Git to apply patches makes a whole lot more sense now that I’m using these shared libraries for all of the PHP sites.

references[edit]

Setting up Git, from the Ruby on Rails tutorial[edit]

First time system setup[edit]

Setting your identity locally:

$ git config --global user.name "Your Name"
$ git config --global user.email youremail@example.com

Set up command aliases (in this case “git co” becomes an alias for “git checkout”):

$ git config --global alias.co checkout

Set the editor for Git commit messages, making sure to use a flag so the editor stays attached to hte shell:

$ git config --global core.editor "mate -w"

First-time repository setup[edit]

Navigate to the root directory of the repository.

$ git init
Initialized empty Git repository in /Users/mhartl/rails_projects/first_app/.git/


Add the project files to the repository.

Create a .gitignore file, which will specify all the files that should not be tracked by Git. (With Rails apps, Rails creates a skeleton .gitignore automatically.)

Add all the files in the current directory to Git

$ git add .

This command adds the project files to a staging area, which contains pending changes to the project. To see which files are in this staging area, use the status command:

$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   README
#       new file:   Rakefile
.
.
.

Editing, Working with GIT[edit]

Commit changes (locally) with

$ git commit -m "Initial commit"
[master (root-commit) df0a62f] Initial commit
42 files changed, 8461 insertions(+), 0 deletions(-)
create mode 100644 README
create mode 100644 Rakefile
.
.
.

The -m flag allows you to add a comment; if you omit -m, Git will open the commit editor and you will have to enter your comment there.

Git is unique in that it divides commit into two logical steps: a local recording of the changes (git commit) and a push of hte changes up to a remote repository (git push).

To see a list of commit messages, use the log command. Type q to break out of the git log if it is long.

$ git log
commit df0a62f3f091e53ffa799309b3e32c27b0b38eb4
Author: Michael Hartl <michael@michaelhartl.com>
Date:   Thu Oct 15 11:36:21 2009 -0700

  Initial commit

Push code to remote Git repository (GitHub, for example).

Create a new repository on the remote server.

Push the application to the remote repo:

$ git remote add origin git@github.com:<username>/first_app.git
$ git push origin master

These commands tell Git that you wnt to add GitHub as the origin for your main (master) branch and then push your repository up to GitHub.