Git
Jump to navigation
Jump to search
Reference
man git-push, git-branch, git-submodule
- github-cli - command-line interface to GitHub's Issues API (v2)
Commands
git config color.ui true git config format.pretty oneline
git add . - add file to staging git add * - add all (except those in .gitignore) files to staging git reset --hard HEAD - reset any uncommitted changes git reset --hard origin/master - reset from remote master
git remote add origin <server> git remote show origin
git pull origin master - get master branch from origin remote git push otherrepo <branch> - stick branch on otherrepo remote
git checkout <branch> - checkout branch git checkout -- <file> - checkout file from HEAD git checkout -b <branch> - create and checkout new branch git branch -d <branch> - delete branch git branch - list branches git branch -a - list branches (including remote) git merge <branch> - merge branch, keep branch in commit log git rebase <branch> - fast-forward merge current to <branch> (?) git diff master <branch> - show difference between master and another branch
git tag - list repo tags git tag 1.0 <sha> - tag <sha> (branch+commit hash) with 1.0 git log - list commits with message and sha A better git log [1]
git submodule add git@mygithost:project goes/here --branch x.y git submodule add --branch 7.x-1.x git://git.drupal.org/project/examples.git in/folder git submodule update --init - bootstrap submodules listed in .gitmodules after cloning somewhere git submodule foreach git pull origin master - update all submodules
git diff > change.patch - create a patch git diff > [description]-[issue-number]-[comment-number].patch - create a Drupal patch git apply -v <patch> - apply patch. also; curl https://github.com/github/jobs/pull/25.patch | git am
git config receive.denyCurrentBranch warn - allow pushing to a non-base repo git repo-config core.sharedRepository true - allow access by multiple users
also, Legit.
Zsh prompt symbols
Status: ✔: repository clean ●n: there are n staged files ✖n: there are n unmerged files ✚n: there are n changed but unstaged files …: there are some untracked files Branch: ↑n: ahead of remote by n commits ↓n: behind remote by n commits ↓m↑n: branches diverged, other by m commits, yours by n commits :: hash, not a branch
Guides
- Git wiki
- Pro Git [2]
- Arch Linux Wiki: Git
- Git cookbook
- git - the simple guide
- http://www-cs-students.stanford.edu/~blynn/gitmagic/
- http://gitimmersion.com/
Articles
- Understanding Git Conceptually
- pushing and pulling
- Understanding the Git Workflow
- A successful Git branching model [3]
- A Rebase Workflow for Git
Handy
- https://github.com/ndbroadbent/scm_breeze - to check
Submodules
git submodule add git@mygithost:billboard [path/optional] git submodule init git submodule update
- Drupal Deployment with Git Submodules
- Use Git submodules to avoid storing Drupal core and contrib modules in your site's repository
- Git Submodules: Adding, Using, Removing, Updating
Repos
Git used for private repo, with Gitweb for easy overview.
For a public setup, a hosting system with access control like gitosis or gitolite is required, or for public read only, git-daemon would do.