summaryrefslogtreecommitdiff
path: root/doc/rcs/git/gitmanual.mdwn
blob: 108b58ed7903e73edcc2fd8e6d2a7050a7cf9da3 (plain)

Main use case I am trying to accomplish: Edit wiki pages offline.

  1. Imagine you're the administrator of the site and you want to checkout the wiki sources to give them some love while on a train journey.
  2. Or you are writing a complex document and you want to simply use your favourite $EDITOR
  3. Learn a little more about git

Workflow

on webconverger.org/si.dabase.com/hendry

Wiki page created with ikiwiki. Example usb.mdwn usb

on monty (my laptop)

I wonder why a "pull" doesn't just init a repo like a "svn co" does? Ah, I should have used git-clone ssh://si.dabase.com/home/hendry/wikiwc/.git/

monty:~/git-testing% git-init
Initialized empty Git repository in .git/

You might want to set some config variables like your email as this tutorial describes.

monty:~/git-testing% git-pull ssh://si.dabase.com/home/hendry/wikiwc/.git/
warning: no common commits
remote: Generating pack...
remote: Done counting 746 objects.
remote: Deltifying 746 objects...
remote:  100% (746/746) done
Indexing 746 objects...
remote: Total 746 (delta 443), reused 723 (delta 431)
 100% (746/746) done
Resolving 443 deltas...
 100% (443/443) done

echo "blah" >> usb.mdwn
monty:~/git-testing% git-commit -a -m "added test"
Created commit d3507df: added test
 1 files changed, 1 insertions(+), 0 deletions(-)

I should have used git push origin here...

monty:~/git-testing% git-push ssh://si.dabase.com/home/hendry/wikiwc/.git/
updating 'refs/heads/master'
  from 75a4a8e94e5fff2a4beced1574e772742d3f9847
  to   d3507dfe19b469e61a728d1b0a833a5f480f5802
Generating pack...
Done counting 5 objects.
Result has 3 objects.
Deltifying 3 objects...
 100% (3/3) done
Writing 3 objects...
 100% (3/3) done
Total 3 (delta 2), reused 0 (delta 0)
refs/heads/master: 75a4a8e94e5fff2a4beced1574e772742d3f9847 -> d3507dfe19b469e61a728d1b0a833a5f480f5802

on webconverger.org/si.dabase.com/hendry

hendry:239$ git-status 
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   usb.mdwn
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       .ikiwiki/

Great, we see the usb.mdwn file has been modified. Now we need to check it out to update the local work tree (and the wiki?)

hendry:242$ git-checkout master usb.mdwn

I find this a little odd... Is this a required step for ikiwiki?

Stuff I am confused about

  • this master/origin stuff
  • why do I have to explicitly say the filename "usb.mdwn" for it to be updated?
  • how ikiwiki interfaces with git. does it have its own working copy? or is it the files simply in ~/wikiwc?
  • I know git-push seems unpopular (git-pull seems to have the emphasis), though I think it is really convenient

Ack

Thanks to gitte on #git on Freenode