wiki:UsingGit

Version 8 (modified by tralph, 13 years ago) (diff)

--

Using git with MythTV

You will need to create a github account, and link your @mythtv.org email address to it (if a MythTV developer). If you aren't a part of the development team, you can still create a github account and fork the repository into your account, giving pull requests later to get your changes incorporated.

For commit access, you will need:

git clone git@github.com:MythTV/mythtv.git

For read-only access, use:

git clone git://github.com/MythTV/mythtv.git

configuring git

If this is the only git repo you are using:

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

If you do already have other repos going, you will be better off using (from the mythtv checked-out directory):

cd /path/to/mythtv-git/
git config user.name "Your Name"
git config user.email you@example.com

Please use your real name and a real email address. If you are on the MythTV development team, please use the assigned canonical @mythtv.org email address. This will be attached to each commit you make, and is needed for legality reasons (i.e. to clearly denote the contributors, which can be a life-saver if we have licensing issues later)

git for svn users

https://git.wiki.kernel.org/index.php/GitSvnCrashCourse

https://git.wiki.kernel.org/images-git/7/78/Git-svn-cheatsheet.pdf

svn command git command comments
svn checkout git clone
svn diff git diff pretty much identical
svn stat git status
svn commit git commit / git push in git, git commit commits locally, git push pushes to the upstream repo. Additionally, changes must be staged before committing.
---- git add -i / git add -p stage commits
svn update git pull technically, this is two steps combined (git fetch, git merge)
svn copy (to create a branch) git branch (or git checkout -b)
svn copy (to create a tag) git tag
svn switch git checkout branch
svn merge git merge
svn revert git checkout /path/to/file or git reset /path/to/file or git reset --hard (for pristine index and working copy)

Also, github has a wealth of good information.