Okay, so ignore the last paragraph of my previous email :-)

Let me know when it's safe to take down the MPIR svn repo on
modular.math.jmu.edu

Jason Worth Martin
Asst. Professor of Mathematics
http://www.math.jmu.edu/~martin



On Mon, Oct 19, 2009 at 8:59 AM, Bill Hart <[email protected]> wrote:
>
> I've made a git repo for MPIR, which can be viewed online here:
>
> http://selmer.warwick.ac.uk/gitweb/mpir.git
>
> If you want to "checkout" the repo (the term used in Git is "clone") do:
>
> git clone http://selmer.warwick.ac.uk/mpir.git mpir-trunk
>
> (or simply use the clone feature of TortoiseGit with the given URL).
>
> I haven't given anyone ssh commit access to the repo on Selmer yet,
> but note that once you have checked out MPIR onto your local machine,
> you can make multiple commits locally to your machine and push them to
> the repo on Selmer later. When you are ready to start pushing commits
> to the Selmer repo, let me know and I'll give you a password. The
> preferred way to do things, if you have access to your own server, is
> to export your Git repo to the world (see notes below) and we'll just
> pull patches from you. If that doesn't work for you, providing ssh
> commit access to the Selmer repo is no problem.
>
> Remember also the catchphrase of Git, "branch early, branch often". In
> fact the first thing you should do is make a branch, to experiment in.
> Committing to the master (i.e. the default Git branch) is not
> recommended when you start working on a new idea. Make as many
> branches as you have ideas to work on, and merge branches together as
> needed. Note: making branches in mpir does not increase the amount of
> internet communication with the "central repo" as it does in svn. Git
> is decentralised.
>
> We'll see how things go. If all MPIR devels seem to want to use git
> and not svn, we'll switch entirely and abandon the svn repo. Otherwise
> we'll keep it and rebase the git repo regularly.
>
> Below is a list of commands to use with Git. If you are using Windows,
> you have to use GitBash to type these, but many of the features will
> have counterparts in the TortoiseGit GUI.
>
> Using Git
> =========
>
> Clone
> -----
> git clone http://selmer.warwick.ac.uk/project.git project-trunk
>
> Pulling changes from Selmer
> ---------------------------
> git pull
>
> Pushing changes back to Selmer (requires access privileges)
> -----------------------------------------------------------
> git push --all
>
> Branch
> ------
> git checkout -b mybranch
>
> Switching Branches
> ------------------
> git checkout mybranch
> git checkout master
> (note it is not recommended to work directly on the master branch)
>
> Adding files to revision control
> --------------------------------
> git add filename
>
> Deleting files under revision control
> -------------------------------------
> git rm filename
>
> Committing changes
> ------------------
> git commit -a
>
> Cherry-picking commits from one branch to another
> -------------------------------------------------
> To see which commits are not in your current branch
>
> git cherry -v mybranch
>
> A + will be displayed against commits which you don't
> have yet, and - against ones you have that aren't in
> the branch
>
> git cherry-pick 08d7780de
>
> will then pick the commit whose SHA1 starts 08d7780de.
> You usually only need the first few characters of the
> SHA1 to identify a commit that you want to grab.
>
> Show all branches
> -----------------
> git branch -a
> git branch -r (will show only remote branches)
>
> Merging a branch into the current branch
> ----------------------------------------
> git pull . mybranch
>
> Rebase is dangerous
> -------------------
> If you don't want to hose your repo, don't use it
> unless you have not shared any of the branches you
> are rebasing
>
> Removing branches
> -----------------
> git branch -d mybranch
>
> Cloning remote branches
> -----------------------
> When you clone a remote repo, only master shows up.
> To see all branches, type:
>
> git branch -a
>
> If you just want to look at a remote branch:
>
> git checkout origin/branchname
>
> If you want to work on it, you need to make a "local copy":
>
> git checkout -b mybranch origin/branchname
>
> Tracking a remote branch
> ------------------------
> As you notice, when you clone a repo, your local repo has
> mirrors of the remote branches, and when you make a local
> branch of that, changes made to the remote branch only get
> reflected in the mirror of the remote branch, not in the
> new branch you created to work on, when you do git pull.
>
> To "track" a remote branch so that git pull will automatically
> merge changes to the remote branch into your new branch, do
> this:
>
> git checkout --track -b mybranch origin/branchname
>
> Exporting a Git repo (via http:)
> --------------------------------
> Explained here:
> http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#public-repositories
>
> Assuming you have a git repo in directory project
>
> git clone --bare project project.git
> chmod 755 project.git
>
> cd project.git
>
> touch git-daemon-export-ok
> git --bare update-server-info
>
> Now get your sysadmin to copy the directory somewhere where it will be
> exported by http (usually /var/www on Ubuntu/apache or
> you can put it in your home dir on sage.math, etc)
>
> Bill.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to