Git
Git is a Distributed Version Control System commonly used in software industry . Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. Common Terminologies associated with git are
Pull - fetch changes from somewhere and reflect in working directory
Push - send your changes to remote branch
Rebase - pull changes from some other branch and add your changes on top , a common version(commit) is req for this to happen
Merge - add all changes in your working directory
Local Branch - your local version of code
Remote Branch - repo not in local , generally common a central repo where all devs push there changes
Remotes - list of remote repos/branches
origin - name given to remote repo
General Guideline While Raising A Pull Request
Make sure your branch is up to date with the master branch
Run git rebase -i master.
You should see a list of commits, each commit starting with the word "pick".
Make sure the first commit says "pick" and change the rest from "pick" to "squash". -- This will squash each commit into the previous commit, which will continue until every commit is squashed into the first commit.
Save and close the editor.
It will give you the opportunity to change the commit message.
Save and close the editor again.
Then you have to force push the final, squashed commit: git push --force-with-lease atiq Squashing commits can be a tricky process but once you figure it out, it's really helpful and keeps our repo concise and clean.
Common Commands
Getting & Creating Projects
Command | Description |
---|---|
| Initialize a local Git repository |
| Create a local copy of a remote repository |
Basic Snapshotting
Command | Description |
---|---|
| Check status |
| Add a file to the staging area |
| Add all new and changed files to the staging area |
| Commit changes |
| Remove a file (or folder) |
Branching & Merging
Command | Description |
---|---|
| List branches (the asterisk denotes the current branch) |
| List all branches (local and remote) |
| Create a new branch |
| Delete a branch |
| Delete a remote branch |
| Create a new branch and switch to it |
| Clone a remote branch and switch to it |
| Rename a local branch |
| Switch to a branch |
| Switch to the branch last checked out |
| Discard changes to a file |
| Merge a branch into the active branch |
| Merge a branch into a target branch |
| Stash changes in a dirty working directory |
| Remove all stashed entries |
Sharing & Updating Projects
Command | Description |
---|---|
| Push a branch to your remote repository |
| Push changes to remote repository (and remember the branch) |
| Push changes to remote repository (remembered branch) |
| Delete a remote branch |
| Update local repository to the newest commit |
| Pull changes from remote repository |
| Add a remote repository |
| Set a repository's origin branch to SSH |
Inspection & Comparison
Command | Description |
---|---|
| View changes |
| View changes (detailed) |
| View changes (briefly) |
| Preview changes before merging |
Miscellaneous
Command | Description |
---|---|
| |
|
Last updated