# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Free Software Foundation, Inc.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2008-01-07 21:20+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"

#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
msgid "English Term (Dear translator: This file will never be visible to the user!)"
msgstr ""

#. ""
msgid "amend"
msgstr ""

#. ""
msgid "annotate"
msgstr ""

#. "A 'branch' is an active line of development."
msgid "branch [noun]"
msgstr ""

#. ""
msgid "branch [verb]"
msgstr ""

#. ""
msgid "checkout [noun]"
msgstr ""

#. "The action of updating the working tree to a revision which was stored in the object database."
msgid "checkout [verb]"
msgstr ""

#. ""
msgid "clone [verb]"
msgstr ""

#. "A single point in the git history."
msgid "commit [noun]"
msgstr ""

#. "The action of storing a new snapshot of the project's state in the git history."
msgid "commit [verb]"
msgstr ""

#. ""
msgid "diff [noun]"
msgstr ""

#. ""
msgid "diff [verb]"
msgstr ""

#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have."
msgid "fast forward merge"
msgstr ""

#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too."
msgid "fetch"
msgstr ""

#. "One context of consecutive lines in a whole patch, which consists of many such hunks"
msgid "hunk"
msgstr ""

#. "A collection of files. The index is a stored version of your working tree."
msgid "index (in git-gui: staging area)"
msgstr ""

#. "A successful merge results in the creation of a new commit representing the result of the merge."
msgid "merge [noun]"
msgstr ""

#. "To bring the contents of another branch into the current branch."
msgid "merge [verb]"
msgstr ""

#. ""
msgid "message"
msgstr ""

#. "Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in 'remotes/<name>'."
msgid "prune"
msgstr ""

#. "Pulling a branch means to fetch it and merge it."
msgid "pull"
msgstr ""

#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)"
msgid "push"
msgstr ""

#. ""
msgid "redo"
msgstr ""

#. "An other repository ('remote'). One might have a set of remotes whose branches one tracks."
msgid "remote"
msgstr ""

#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)"
msgid "repository"
msgstr ""

#. ""
msgid "reset"
msgstr ""

#. ""
msgid "revert"
msgstr ""

#. "A particular state of files and directories which was stored in the object database."
msgid "revision"
msgstr ""

#. ""
msgid "sign off"
msgstr ""

#. ""
msgid "staging area"
msgstr ""

#. ""
msgid "status"
msgstr ""

#. "A ref pointing to a tag or commit object"
msgid "tag [noun]"
msgstr ""

#. ""
msgid "tag [verb]"
msgstr ""

#. "A regular git branch that is used to follow changes from another repository."
msgid "tracking branch"
msgstr ""

#. ""
msgid "undo"
msgstr ""

#. ""
msgid "update"
msgstr ""

#. ""
msgid "verify"
msgstr ""

#. "The tree of actual checked out files."
msgid "working copy, working tree"
msgstr ""

