Back to Web Dev For Beginners

README

Git-Basics/README.md

latest5.4 KB
Original Source

Basics of GIT for web-dev beginners👶

What is Git?

  1. Git is a distributed version control system.
  2. The entire codebase and history is available on every developer’s computer, 
     which allows for easy branching and merging.
  3. It is used as Version Control System (VCS) for tracking changes in computer files.
  
  • Distributed version control
  • Coordinates work between multiple developers
  • Who made what changes and when
  • Revert back at any time
  • Local & remote repos

CONCEPTS OF GIT

  • Keeps track of code history
  • Takes "snapshots" of your files
  • You decide when to take a snapshot by making a "commit"
  • You can visit any snapshot at any time
  • You can stage files before committing

Difference Between Git & GitHub

GitGitHub
Git is a softwareGitHub is a cloud service
Git is installed locally on the systemGitHub is hosted on the web
It is command-line toolIt is a graphical user interface
Git is maintained by LinuxGitHub is maintained by Microsoft
It is focused on version control and code sharingIt is focused on centralized source code hosting
Git is open-source licensedGitHub includes a free-tier and pay-for-use tier
Git was released in 2005GitHub was released in 2008

GIT Installation

  • Linux(Debian) $sudo apt-get install git
  • Linux(Fedora) $sudo yum install git
  • Download for Mac
  • Download for Windows

Installation Process Steps:

  1. And then Continue Next > Next > Next > <b>Install</b>

After Installation We need To configure git using git bash

  1. git config --global user.name 'YourName'
  2. git config --global user.email 'YourEmail'

Git Commands


Getting & Creating Projects

CommandDescription
git initInitialize a local Git repository
git clone ssh://[email protected]/[username]/[repository-name].gitCreate a local copy of a remote repository

Basic Snapshotting

CommandDescription
git statusCheck status
git add [file-name.txt]Add a file to the staging area
git add -AAdd all new and changed files to the staging area
git commit -m "[commit message]"Commit changes
git rm -r [file-name.txt]Remove a file (or folder)
git pushPush To Remote Repository
git pullPull Latest Changes From Remote Repository

Branching & Merging

CommandDescription
git branchList branches (the asterisk denotes the current branch)
git branch -aList all branches (local and remote)
git branch [branch name]Create a new branch
git branch -D [branch name]Delete a branch
git push origin --delete [branch name]Delete a remote branch
git checkout -b [branch name]Create a new branch and switch to it
git checkout -b [branch name] origin/[branch name]Clone a remote branch and switch to it
git branch -m [old branch name] [new branch name]Rename a local branch
git checkout [branch name]Switch to a branch
git checkout -Switch to the branch last checked out
git checkout -- [file-name.txt]Discard changes to a file
git merge [branch name]Merge a branch into the active branch
git merge [source branch] [target branch]Merge a branch into a target branch
git stashStash changes in a dirty working directory
git stash clearRemove all stashed entries

Sharing & Updating Projects

CommandDescription
git push origin [branch name]Push a branch to your remote repository
git push -u origin [branch name]Push changes to remote repository (and remember the branch)
git pushPush changes to remote repository (remembered branch)
git push origin --delete [branch name]Delete a remote branch
git pullUpdate local repository to the newest commit
git pull origin [branch name]Pull changes from remote repository
git remote add origin ssh://[email protected]/[username]/[repository-name].gitAdd a remote repository
git remote set-url origin ssh://[email protected]/[username]/[repository-name].gitSet a repository's origin branch to SSH

Inspection & Comparison

CommandDescription
git logView changes
git log --summaryView changes (detailed)
git log --onelineView changes (briefly)
git diff [source branch] [target branch]Preview changes before merging