Skip to content

Latest commit

 

History

History
217 lines (144 loc) · 2.94 KB

git.md

File metadata and controls

217 lines (144 loc) · 2.94 KB

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