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