Awesome List Updates on Apr 21, 2015
6 awesome lists updated today.
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor
1. Git Cheat Sheet
Configuration Files
Configuration Files
Repository specific configuration file [--local]:
<repo>/.git/configUser-specific configuration file [--global]:
~/.gitconfigSystem-wide configuration file [--system]:
/etc/gitconfigCreate
Create
Clone an existing repository:
There are two ways:
Via SSH
$ git clone ssh://[email protected]/repo.gitVia HTTP
$ git clone http://domain.com/user/repo.gitCreate a new local repository in the current directory:
$ git initCreate a new local repository in a specific directory:
$ git init <directory>Local Changes
Local Changes
Changes in working directory:
$ git statusChanges to tracked files:
$ git diffSee changes/difference of a specific file:
$ git diff <file>Add all current changes to the next commit:
$ git add .Add some changes in <file> to the next commit:
$ git add -p <file>Add only the mentioned files to the next commit:
$ git add <filename1> <filename2>Commit all local changes in tracked files:
$ git commit -aCommit previously staged changes:
$ git commitCommit with message:
$ git commit -m 'message here'Commit skipping the staging area and adding message:
$ git commit -am 'message here'Commit to some previous date:
$ git commit --date="`date --date='n day ago'`" -am "<Commit Message Here>"Change last commit:
Don't amend published commits!
$ git commit -a --amendAmend with last commit but use the previous commit log message
Don't amend published commits!
$ git commit --amend --no-editChange committer date of last commit:
GIT_COMMITTER_DATE="date" git commit --amendChange Author date of last commit:
$ git commit --amend --date="date"Move uncommitted changes from current branch to some other branch:
$ git stash
$ git checkout branch2
$ git stash popRestore stashed changes back to current branch:
$ git stash applyRestore particular stash back to current branch:
- {stash_number} can be obtained from
git stash list
$ git stash apply stash@{stash_number}Remove the last set of stashed changes:
$ git stash dropSearch
Search
A text search on all files in the directory:
$ git grep "Hello"In any version of a text search:
$ git grep "Hello" v2.5Show commits that introduced a specific keyword
$ git log -S 'keyword'Show commits that introduced a specific keyword (using a regular expression)
$ git log -S 'keyword' --pickaxe-regexCommit History
Commit History
Show all commits, starting with newest (it'll show the hash, author information, date of commit and title of the commit):
$ git logShow all the commits(it'll show just the commit hash and the commit message):
$ git log --onelineShow all commits of a specific user:
$ git log --author="username"Show changes over time for a specific file:
$ git log -p <file>Display commits that are present only in remote/branch in right side
$ git log --oneline <origin/master>..<remote/master> --left-rightWho changed, what and when in <file>:
$ git blame <file>Show Reference log:
$ git reflog showDelete Reference log:
$ git reflog deleteBranches & Tags
Branches & Tags
List all local branches:
$ git branchList local/remote branches
$ git branch -aList all remote branches:
$ git branch -rSwitch HEAD branch:
$ git checkout <branch>Checkout single file from different branch
$ git checkout <branch> -- <filename>Create and switch new branch:
$ git checkout -b <branch>Switch to the previous branch, without saying the name explicitly:
$ git checkout -Create a new branch from an exiting branch and switch to new branch:
$ git checkout -b <new_branch> <existing_branch>Checkout and create a new branch from existing commit
$ git checkout <commit-hash> -b <new_branch_name>Create a new branch based on your current HEAD:
$ git branch <new-branch>Create a new tracking branch based on a remote branch:
$ git branch --track <new-branch> <remote-branch>Delete a local branch:
$ git branch -d <branch>Rename current branch to new branch name
$ git branch -m <new_branch_name>Force delete a local branch:
You will lose unmerged changes!
$ git branch -D <branch>Apply specific commit from another branch:
git cherry-pick <commit hash>Mark HEAD with a tag:
$ git tag <tag-name>Mark HEAD with a tag and open the editor to include a message:
$ git tag -a <tag-name>Mark HEAD with a tag that includes a message:
$ git tag <tag-name> -am 'message here'List all tags:
$ git tagList all tags with their messages (tag message or commit message if tag has no message):
$ git tag -nMerge & Rebase
Merge & Rebase
Merge branch into your current HEAD:
$ git merge <branch>List merged branches
$ git branch --mergedRebase your current HEAD onto <branch>:
Don't rebase published commit!
$ git rebase <branch>Abort a rebase:
$ git rebase --abortContinue a rebase after resolving conflicts:
$ git rebase --continueUse your editor to manually solve conflicts and (after resolving) mark file as resolved:
$ git add <resolved-file>
$ git rm <resolved-file>Squashing commits:
$ git rebase -i <commit-just-before-first>Now replace this,
pick <commit_id>
pick <commit_id2>
pick <commit_id3>to this,
pick <commit_id>
squash <commit_id2>
squash <commit_id3>Undo
Undo
Discard all local changes in your working directory:
$ git reset --hard HEADGet all the files out of the staging area(i.e. undo the last git add):
$ git reset HEADDiscard local changes in a specific file:
$ git checkout HEAD <file>Revert a commit (by producing a new commit with contrary changes):
$ git revert <commit>Reset your HEAD pointer to a previous commit and discard all changes since then:
$ git reset --hard <commit>Reset your HEAD pointer to a remote branch current state.
$ git reset --hard <remote/branch> e.g., upstream/master, origin/my-featureReset your HEAD pointer to a previous commit and preserve all changes as unstaged changes:
$ git reset <commit>Reset your HEAD pointer to a previous commit and preserve uncommitted local changes:
$ git reset --keep <commit>Remove files that were accidentally committed before they were added to .gitignore
$ git rm -r --cached .
$ git add .
$ git commit -m "remove xyz file"2. Awesome Answers
Functional Programming
Miscellaneous / Ruby
3. Awesome Elixir
Images
- chunky_svg (⭐32) - A library for drawing things with SVG.
4. Awesome Json
Command-line tools
- jsawk (⭐1.4k) - Like awk, but for JSON.
JSON Schema Tools
- DLL.js (⭐67) - Gets you a JSON Schema from PostgreSQL or SQLite3.
5. Awesome Polymer
Boilerplates
6. Awesome Machine Learning
General-Purpose Machine Learning / Data Analysis / Data Visualization
- MAChineLearning (⭐37) - An Objective-C multilayer perceptron library, with full support for training through backpropagation. Implemented using vDSP and vecLib, it's 20 times faster than its Java equivalent. Includes sample code for use from Swift.
- Prev: Apr 22, 2015
- Next: Apr 20, 2015