Repository: grayghostvisuals/practice-git
Branch: master
Commit: ed7469cc9669
Files: 8
Total size: 8.7 KB
Directory structure:
gitextract_btt3cpcb/
├── .practy.js.swo
├── MyReadme.md
├── NewReadme.md
├── README.md
├── branch1502/
│ └── test-file.txt
├── dimitris_announcement
├── norajs/
│ └── readme.txt
└── practice-git/
└── foo.txt
================================================
FILE CONTENTS
================================================
================================================
FILE: MyReadme.md
================================================
#Lets start markdown
I just now heard about markdown
Also have an understanding of git but github has me confused
================================================
FILE: NewReadme.md
================================================
#Hello there!
================================================
FILE: README.md
================================================
### :octocat: Git Your Practice On!
* 19 Git Tips for Everyday use [http://www.alexkras.com/19-git-tips-for-everyday-use](http://www.alexkras.com/19-git-tips-for-everyday-use)
* Git Hot Tips by Wes Bos [https://wesbos.com/git-hot-tips/](https://wesbos.com/git-hot-tips/)
* Git Reference [https://help.github.com/categories/github-pages-basics/](https://help.github.com/categories/github-pages-basics/)
* Pro Git Online Book [http://git-scm.com/book](http://git-scm.com/book)
* Git Ready [http://gitready.com](http://gitready.com)
* Quick Command Practice [http://try.github.com](http://try.github.com)
* Git Real [http://www.codeschool.com/courses/git-real](http://www.codeschool.com/courses/git-real)
* How to GitHub: Fork, Branch, Track, Squash and Pull Request [http://gun.io/blog/how-to-github-fork-branch-and-pull-request](http://gun.io/blog/how-to-github-fork-branch-and-pull-request)
* Learn Git Online [http://learn.github.com/p/intro.html](http://learn.github.com/p/intro.html)
* Teach Github [https://github.com/github/teach.github.com](https://github.com/github/teach.github.com)
* Git: The Simple Guide [http://rogerdudler.github.com/git-guide](http://rogerdudler.github.com/git-guide)
* Git Immersion [http://gitimmersion.com](http://gitimmersion.com)
* Git Branching [http://pcottle.github.io/learnGitBranching/](http://pcottle.github.io/learnGitBranching/)
* Git Cheat Sheet [https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet](https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet)
Welcome to my practice git repository where you can eff up as much as you'd like plus work with a real, living, breathing person on the other side.
Here we learn all things git. Feel free to send me Pull Requests just to discover what it's like when a Repo Master asks you
"Can you squash your commits for us"
and you're all like...
"How the hell do I do that?"
This is where we make those mistakes ... so don't be scared :)
### Instructions
Fork this repo and send me a Pull Request with anything from Grandma Peggy's Crumbled Oatmeal Cookie Recipe to your favorite Sublime Text 2 preferences.
It's all good yo! Learning is the prize in this game.
#### Typical & Highly Useful Git Commands
```bash
git clone git@github.com:/the-repo-you-are-cloning.git
```
Clones your remote origin repo locally
```bash
git fetch upstream
```
Pulls in the remote changes not present in your local repo. Downloads objects and references from another repository.
```bash
git merge upstream/master
```
Merges any changes fetched into your working files
```bash
git add
```
Start tracking new files and also stage changes to already tracked files
``git status`` & ``git diff``
* Tells us what files and assets have been modified and staged
```bash
git status -s
```
This will display what files have been removed, changed or modified.
* (M) - modified
* (A) - added
* (AM) - file has not been altered since it was last added
```bash
git commit -m 'the message goes here for the commit'
```
Records a snapshot of the project into your history at the time of your commit.
```bash
git add '*.'
```
This command adds all file types with the same extension, especially from different directories. Without quotes the command will only execute within the same directory it's been called from.
```bash
git rm --cached
```
Unstages a file from the working tree (i.e. stops tracking the file).
```bash
git log
```
Remembers all the changes we've committed so far, in the order we committed them.
```bash
git log --summary
```
See where new files were added for the first time or where files were deleted.
```bash
git remote add origin git@github.com:/.git
```
Creates a brand new remote repository.
```bash
git remote -v
```
Show a list of the current remote repositories
```bash
git reset
```
Removes the desired file from staging area.
```bash
git branch -r
```
List all the remote branches currently tracked
```bash
git remote prune origin
```
Deletes branch locally if it has been removed remotely. Helps to remove stale references.
```bash
git checkout --
```
Changes the desired target back to the state of the last commit. A target can be a file or a directory (for example).
```bash
git rebase
```
Rebase allows you to [easily change a series of commits, reordering, editing, or squashing commits together into a single commit](https://help.github.com/articles/interactive-rebase).
Be warned: it's considered bad practice to rebase commits which you have already pushed to a remote repo. Doing so may invoke the wrath of the git gods. [https://help.github.com/articles/interactive-rebase](https://help.github.com/articles/interactive-rebase)
### Adding
```bash
git add
```
(i.e. ``git add readme.md license.txt``. Can be multiples)
```bash
git add --all
```
Add all the new files since last
```bash
git add *.txt
```
Add all txt files in directory
### Staging
```bash
git diff
```
Show unstaged differences since last commit
```bash
git diff --staged
```
Gets the staged differences and displays what has changed since our last commit
### Reverting
```bash
git reset HEAD
```
Head is the last commit on the current branch we are on. What if you stage something you didn't need to be staged? This is the key.
```bash
git checkout --
```
Reset all changes to a file since last commit
```bash
git reset --soft HEAD^
```
What if you regret a commit? This will undo your last commit. (^ means move commit before HEAD and puts changes into staging).
```bash
git reset --hard HEAD^
```
Traverse through commits and revert back one by one.
```bash
git reset --hard HEAD
```
Undo Last commit and all changes
```bash
git commit --amend -m "added another file to the commit'
```
New commit message will override previous commit message
### Remotes
"Remotes are kinda like bookmarks"
```bash
git remote -v
```
Show the current remote repos
```bash
git remote add
```
Add a new remote repo
```bash
git remote rm
```
Remove remote repo
### Cloning, Branching, Fetching & Merging
```bash
git fetch
```
Pulls down any changes but doesn't merge them
```bash
git branch
```
Makes a new branch
```bash
git checkout
```
Switching branch and on a different timeline
```bash
git merge
```
Merges branch into master
```bash
git branch -d
```
Deletes branch
```bash
git checkout -b
```
Creates a new branch and then switches to it
```bash
:wq + enter
```
VI Editor Quick Key Exit
```bash
g fetch origin
git checkout -t /
```
Fetches a remote branch not available locally [also reference issue #7](https://github.com/grayghostvisuals/Practice-Git/issues/7)
### Pushing & Pulling
```bash
git push -u origin master (remote repo name[origin], local branch name[master])
```
Lets you just run git push later on without specifying name and branch
```bash
git pull
```
Pull changes in and syncs up your repo. Doesn't update local code
### Branching
```bash
git branch -r
```
List all remote branches
```bash
git remote show origin
```
Show all the remote branches
```bash
git push origin :
```
Deletes the remote branch
```bash
git branch -D
```
Delete the local repo branch and if you don't want the commits any longer on it then delete them too.
```bash
git remote prune origin
```
Deletes the branch locally if it has been removed remotely. Helps to remove stale references.
### Rebasing
"Merge commits are bad"
```bash
git rebase
```
Move all changes to master local which are not in origin/master remote to a temporary area
### History
```bash
git log
```
Viewing the commits history
```bash
git config --global color.ui true
```
Color codes the commit SHA
```bash
git log --pretty=oneline
```
or
```bash
git log --graph --oneline --all
```
Commit and history is one line
```bash
git log --pretty=format:"%h
```
Exactly how you want the output using placeholders (use git help log)
```bash
git log --until
```
Date Ranges. For example you could grab everything from the year 2013 using ``git log --until 2013``
### Removal
```bash
git rm
```
Removes file completely
```bash
git rm --cached
```
Won't be deleted from your file system, but keeps the local changes still.
### Help
```bash
git help
```
```bash
git help
```
#### Nasty link
================================================
FILE: branch1502/test-file.txt
================================================
some text goes here.
some new text edit goes here.
nope
yep
================================================
FILE: dimitris_announcement
================================================
I'm having a baby girl in March and I'm shouting it at the top of Git mountain!
================================================
FILE: norajs/readme.txt
================================================
Thanks yo for the practice project :) Gonna mess around here a little.
Nora
Hello
================================================
FILE: practice-git/foo.txt
================================================
lorem