Git
Basic Workflow
Git clone the repo you are interested in:
git clone https://github.com/jtaubs1/OSCP-Prep.git
Now move into the directory that the reposity or now located in and initialize the repo
git init
For any site that is going to be hosted on GitHub pages, ensure you check out the
gh-pages
branch
git checkout -b gh-pages
Now make all the chages you want to make on the repo.
To see the status of the files changed before pushing the new commits.
git status
If these are the changes you want to make:
git add .
Now commit the changes locally
git commit -m "initial commit"
You only have to do the below command once, but this will instruct git where to push the changes to:
git remote add origin https://github.com/jtaubs1/jtaubs1.github.io.git
Now make the commit official and push to your branch:
git push origin gh-pages
Observing a Repository
List new or modified files not yet commited
git status
Show the changes to files not yet staged
git diff
Show the changes to staged files
git diff --cached
Show all staged and unstaged file changes
git diff HEAD
Show the changes between two commit ids
git diff <commit1> <commit2>
List the change dates and authoris for a file
git blame <file>
Show the file changes for a commit id and/or file
git show <commit>:<file>
Show full change history
git log
Show change history for file/directory including diffs
git log -p [file/directory]
Working with Branches
List all local branches
git branch
List all branches local and remote
git branch -av
Switch to a branch, my_branch, and update working directory
git checkout my_branch
Create a new branch called my_branch
git branch my_branch
Delete the branch called my_branch
git branch -d my_branch
Merge branch_a into branch_b
git checkout branch_b
git merge branch_a
Tage the current commit
git tag my_tag
Make a Change
Stages the file, ready for commit
git add [file]
Stage all changed files, ready for commit
git add .
Commit all staged files to versioned history
git commit -m "commit message"
Commit all your tracked files to versioned history
git commit -am "commit message"
Unstages file, keeping the file changes
git reset [file]
Revert everything to the last commit
git reset --hard
Synchronize
Get the latest changes from origin (no merge)
git fetch
Fetch the latest changes from origin and merge
git pull
Fetch the latest changes from origin and rebase
git pull --rebase
Push local changes to the origin
git push
Last updated