GitCentralizedWorkflow

From ISRWiki
Jump to navigation Jump to search

Quick and dirty guide to use Git with a centralized workflow.

Initializing the "central" repository

This should be done just once, if the centralized copy already exists, you can skip this part. ToDo

Getting a copy of the repository

The first thing that a typical user wants to do is to get a local clone of the repository:

 git clone ssh://user@host/path/to/repo.git localDirectory

This copies the whole repository to a special directory inside the local directory. Moreover, it checks out a working copy of the project in the local directory, i.e., you will have the files of the project in the local directory.

Work with the repository

The usual work routine should be as follows.

  • Fetch the latest versions of files from the central repository and merge them with the local versions:
 git pull --rebase origin master
  • Edit the local files
  • Commit the new version of the files to the local copy of the repository
 git commit -a
  • Push your commit(s) to the centralized repository
 git push origin master

If somebody commits changes to the central repository that conflict with the changes you made, when you try to push your changes you get an error. At that point, you can pull the changed version from the server, then run "git status" to see what is happening and then solve the conflict (not sure how that is done, at the moment)

Moreover, you might want to add some new files to the repository.

  • Add some new files to the set of the tracked files (they will be added to the repository the first time you do a commit)
 git add alpha.cpp beta.cpp

Useful links