Difference between revisions of "User:Frank Ralf/Git"

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Frank Ralf/Git.

(Updating your Moodle installation)
(Updating your Moodle installation)
Line 26: Line 26:
[[File:Git fetch.png| thumb | First try ...]]
[[File:Git fetch.png| thumb | First try ...]]
[[File:Git branch fetch 2011-07-20.png| thumb |Second try ...]]
[[File:Git branch fetch 2011-07-20.png| Second try ...]]
Following the instructions by Sam
Following the instructions by Sam

Revision as of 17:17, 20 July 2011

Cloning Moodle to your local installation

Git cloning Moodle.png

Cloning to a new folder

Git cloning Moodle new folder.png

Moodle branches

Git remote Moodle branches.png


Git checkout MOODLE 19 STABLE.png

Deleting master branch

Don't know whether this is a good idea but I accidentally messed up my local Moodle 1.9 master branch by fetching Moodle 2.1 on top of it ... Git delete master branch.png

That's the result: Git only local branch left.png

Updating your Moodle installation

git fetch
First try ...
Second try ...

Following the instructions by Sam

Git fetch status 2011-07-20.png

Maintaining your own contributed code

Copying the plug-in code to your Moodle installation

Git adding my custom plugin code.png

Making Git ignore your code

Put the folder names for your own code into the .git/info/exclude file in your Moodle clone, as the following excerpt from .gitignore describes:

# Example: if you deploy a contributed plugin mod/foobar into your site, put
# the following line into .git/info/exclude file in your Moodle clone:
# /mod/foobar/

That's how it looks:

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

Setting up a remote repository on GitHub

See the instructions at:

Cloning the remote GitHub repository to your local Moodle installation

  1. Change to the parent folder for your plug-in
  2. Clone the repository:
    git clone https://nakohdo@GitHub.com/nakohdo/moodle-filter_autolinkhijacker.git
  3. Rename the folder to your plug-in's name
  4. Open Git Bash in that folder

Creating a local branch

  1. Open Git Bash in the plug-in folder
  2. Create new branch:
    git branch MOODLE_19_STABLE
  3. Change to the new branch:
    git checkout MOODLE_19_STABLE
    • Both steps in one:
      git checkout -b MOODLE_19_STABLE

Creating a remote branch

Note: It might be better using "remote" first to create the remote branch. And usually it's best if both branches have the same name. --Frank Ralf 12:59, 18 July 2011 (WST)

  1. Change to the correct local branch
  2. git push origin -u MOODLE_19_STABLE
    Using different names for local and remote branch:
    $ git push origin  local_19_STABLE:MOODLE_19_STABLE

Git creating remote branch.png

Deleting a remote branch

$ git push origin :testbranch


Git GUI (aka GitTk)

For launching the command line commands from a GUI. This will automatically be installed together with "Git for Windows" and is equally accessible from the explorer context menu.

Git Gui (moodle).png

Visualize branch history

Gitk moodle 2011-07-20.png

See also

Moodle forum discussions
External resources
Stackoverflow resources