SlideShare a Scribd company logo
1 of 2
Download to read offline
fournova




                          git cheat sheet
                        presented by
                                       Tower – the most powerful Git client for Mac




                                        Create                         Branches & Tags                             Merge & Rebase
Clone an existing repository	                    List all existing branches               Merge branch into your current HEAD
 $ git clone ssh://user@domain.com/repo.git        $ git branch                            $ git merge branch
Create a new local repository 	                  Switch HEAD branch                       Rebase your current HEAD onto branch
 $ git init                                        $ git checkout branch                 Don‘t rebase published commits!
                                                                                           $ git rebase branch
                                                  Create a new branch based on your
                           local Changes          current HEAD                             Abort a rebase
                                                   $ git branch new-branch                $ git rebase --abort
Changed files in your working directory
 $ git status                                     Create a new tracking branch based on    Continue a rebase after resolving conflicts
                                                  a remote branch                           $ git rebase --continue
Changes to tracked files 	
                                                   $ git branch --track new-branch
 $ git diff                                          remote-branch                       Use your configured merge tool to
                                                                                           solve conflicts
Add all current changes to the next               Delete a local branch
commit                                                                                     $ git mergetool
                                                   $ git branch -d branch
 $ git add .                                                                               Use your editor to manually solve con-
                                                  Mark the current commit with a tag       flicts and (after resolving) mark file as
Add some changes in file to the next                                                     resolved
commit                                           $ git tag tag-name
                                                                                            $ git add resolved-file
 $ git add -p file
                                                                       Update  Publish    $ git rm resolved-file
Commit all local changes in tracked files
 $ git commit -a                                  List all currently configured remotes                                           Undo
                                                   $ git remote -v
Commit previously staged changes                                                          Discard all local changes in your working
 $ git commit                                     Show information about a remote         directory	
                                                   $ git remote show remote               $ git reset --hard HEAD
Change the last commit
Don‘t amend published commits!                    Add new remote repository, named         Discard local changes in a specific file
$ git commit --amend	                            remote                                 $ git checkout HEAD file
                                                   $ git remote add remote url
                                                                                           Revert a commit (by producing a new
                                                  Download all changes from remote,      commit with contrary changes)
                         Commit History           but don‘t integrate into HEAD           $ git revert commit
                                                    $ git fetch remote
Show all commits, starting with newest                                                    Reset your HEAD pointer to a previous
 $ git log                                        Download changes and directly merge/     commit
                                                  integrate into HEAD                    …and discard all changes since then
Show changes over time for a specific file        $ git pull remote branch
 $ git log -p file                                                                        $ git reset --hard commit
                                                  Publish local changes on a remote       …and preserve all changes as unstaged
Who changed what and when in file               $ git push remote branch            changes
$ git blame file
                                                  Delete a branch on the remote             $ git reset commit
                                                   $ git push remote :branch           …and preserve uncommitted local
                                                                                           changes
                                                  Publish your tags
                                                                                            $ git reset --keep commit
                                                   $ git push --tags




30-day free trial available at
www.git-tower.com                                                                                the most powerful Git client for Mac
fournova




                   version control
                                                                    best practices




            Commit Related Changes                   Test Code Before You Commit                                       Use Branches

A commit should be a wrapper for related       Resist the temptation to commit some-        Branching is one of Git‘s most powerful
changes. For example, fixing two diffe-        thing that you «think» is completed. Test    features - and this is not by accident:
rent bugs should produce two separate          it thoroughly to make sure it really is      quick and easy branching was a central
commits. Small commits make it easier          completed and has no side effects (as far    requirement from day one. Branches are
for other developers to understand the         as one can tell). While committing half-     the perfect tool to help you avoid mixing
changes and roll them back if something        baked things in your local repository only   up different lines of development. You
went wrong.                                    requires you to forgive yourself, having     should use branches extensively in your
With tools like the staging area and the       your code tested is even more important      development workflows: for new fea-
ability to stage only parts of a file, Git     when it comes to pushing/sharing your        tures, bug fixes, ideas…
makes it easy to create very granular          code with others.
commits.


                            Commit Often            Write Good Commit Messages                             Agree on a Workflow

Committing often keeps your commits            Begin your message with a short sum-         Git lets you pick from a lot of different
small and, again, helps you commit only        mary of your changes (up to 50 charac-       workflows: long-running branches, topic
related changes. Moreover, it allows you       ters as a guideline). Separate it from       branches, merge or rebase, git-flow…
to share your code more frequently with        the following body by including a blank      Which one you choose depends on a
others. That way it‘s easier for everyone      line. The body of your message should        couple of factors: your project, your
to integrate changes regularly and avoid       provide detailed answers to the following    overall development and deployment
having merge conflicts. Having few large       questions:                                   workflows and (maybe most important-
commits and sharing them rarely, in con-       –  hat was the motivation for the change?
                                                 W                                          ly) on your and your teammates‘ personal
trast, makes it hard to solve conflicts.       –  ow does it differ from the previous
                                                 H                                          preferences. However you choose to
                                                 implementation?                            work, just make sure to agree on a com-
                                                                                            mon workflow that everyone follows.
                                               Use the imperative, present tense
                                               («change», not «changed» or «changes»)
    Don‘t Commit Half-Done Work
                                               to be consistent with generated messa-
You should only commit code when               ges from commands like git merge.                           Help  Documentation
it‘s completed. This doesn‘t mean you
have to complete a whole, large feature                                                     Get help on the command line
before committing. Quite the contrary:                                                       $ git help command
split the feature‘s implementation into                    Version Control is not
                                                                 a Backup System
logical chunks and remember to commit
early and often. But don‘t commit just to      Having your files backed up on a remote                        Official Git Website
have something in the repository before        server is a nice side effect of having a
leaving the office at the end of the day. If                                                 http://www.git-scm.com/
                                               version control system. But you should
you‘re tempted to commit just because          not use your VCS like it was a backup                      Free online resources
you need a clean working copy (to check        system. When doing version control, you       http://progit.org
out a branch, pull in changes, etc.) consi-    should pay attention to committing se-        http://book.git-scm.org
der using Git‘s «Stash» feature instead.       mantically (see «related changes») - you
                                                                                             http://gitref.org
                                               shouldn‘t just cram in files.




30-day free trial available at
www.git-tower.com                                                                                 the most powerful Git client for Mac

More Related Content

What's hot

Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control SystemMohammad Imam Hossain
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CIColCh
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Simplilearn
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and githubAderemi Dadepo
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitE Carter
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdfTilton2
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHubNicolás Tourné
 
Understanding GIT and Version Control
Understanding GIT and Version ControlUnderstanding GIT and Version Control
Understanding GIT and Version ControlSourabh Sahu
 

What's hot (20)

Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git & Github for beginners
Git & Github for beginnersGit & Github for beginners
Git & Github for beginners
 
Git basic
Git basicGit basic
Git basic
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and github
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
git and github
git and githubgit and github
git and github
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
Understanding GIT and Version Control
Understanding GIT and Version ControlUnderstanding GIT and Version Control
Understanding GIT and Version Control
 

Similar to Git cheat sheet

Git training cheat sheet
Git training cheat sheetGit training cheat sheet
Git training cheat sheetSkander Hamza
 
Version control system
Version control systemVersion control system
Version control systemAndrew Liu
 
Git cheat sheet__grey
Git cheat sheet__greyGit cheat sheet__grey
Git cheat sheet__greyKing Hom
 
Git cheat sheet__white
Git cheat sheet__whiteGit cheat sheet__white
Git cheat sheet__whiteKing Hom
 
Git cheat sheet_dark
Git cheat sheet_darkGit cheat sheet_dark
Git cheat sheet_darkKing Hom
 
Hacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHubHacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHubDSC GVP
 
Getting started with GIT
Getting started with GITGetting started with GIT
Getting started with GITpratz0909
 
Learning Basic GIT Cmd
Learning Basic GIT CmdLearning Basic GIT Cmd
Learning Basic GIT Cmdsrinathcox
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierChristoph Matthies
 
Atlassian git cheatsheet
Atlassian git cheatsheetAtlassian git cheatsheet
Atlassian git cheatsheetAbdul Basit
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer CheatsheetAbdul Basit
 
Get Good With Git
Get Good With GitGet Good With Git
Get Good With GitHoffman Lab
 

Similar to Git cheat sheet (20)

Git training cheat sheet
Git training cheat sheetGit training cheat sheet
Git training cheat sheet
 
Git
GitGit
Git
 
Version control system
Version control systemVersion control system
Version control system
 
Git cheat sheet__grey
Git cheat sheet__greyGit cheat sheet__grey
Git cheat sheet__grey
 
Git cheat sheet__white
Git cheat sheet__whiteGit cheat sheet__white
Git cheat sheet__white
 
Git cheat sheet_dark
Git cheat sheet_darkGit cheat sheet_dark
Git cheat sheet_dark
 
Git cheat sheet with diagram-5.pdf
Git cheat sheet with diagram-5.pdfGit cheat sheet with diagram-5.pdf
Git cheat sheet with diagram-5.pdf
 
Hacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHubHacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHub
 
Getting started with GIT
Getting started with GITGetting started with GIT
Getting started with GIT
 
Did you git yet?
Did you git yet?Did you git yet?
Did you git yet?
 
Learning Basic GIT Cmd
Learning Basic GIT CmdLearning Basic GIT Cmd
Learning Basic GIT Cmd
 
GIT_In_90_Minutes
GIT_In_90_MinutesGIT_In_90_Minutes
GIT_In_90_Minutes
 
Git Tech Talk
Git  Tech TalkGit  Tech Talk
Git Tech Talk
 
Session git
Session gitSession git
Session git
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easierGit Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easier
 
Atlassian git cheatsheet
Atlassian git cheatsheetAtlassian git cheatsheet
Atlassian git cheatsheet
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer Cheatsheet
 
Git
GitGit
Git
 
Get Good With Git
Get Good With GitGet Good With Git
Get Good With Git
 
Git basics
Git basicsGit basics
Git basics
 

More from Piyush Mittal

More from Piyush Mittal (20)

Power mock
Power mockPower mock
Power mock
 
Design pattern tutorial
Design pattern tutorialDesign pattern tutorial
Design pattern tutorial
 
Reflection
ReflectionReflection
Reflection
 
Gpu archi
Gpu archiGpu archi
Gpu archi
 
Cuda Architecture
Cuda ArchitectureCuda Architecture
Cuda Architecture
 
Intel open mp
Intel open mpIntel open mp
Intel open mp
 
Intro to parallel computing
Intro to parallel computingIntro to parallel computing
Intro to parallel computing
 
Cuda toolkit reference manual
Cuda toolkit reference manualCuda toolkit reference manual
Cuda toolkit reference manual
 
Matrix multiplication using CUDA
Matrix multiplication using CUDAMatrix multiplication using CUDA
Matrix multiplication using CUDA
 
Channel coding
Channel codingChannel coding
Channel coding
 
Basics of Coding Theory
Basics of Coding TheoryBasics of Coding Theory
Basics of Coding Theory
 
Java cheat sheet
Java cheat sheetJava cheat sheet
Java cheat sheet
 
Google app engine cheat sheet
Google app engine cheat sheetGoogle app engine cheat sheet
Google app engine cheat sheet
 
Vi cheat sheet
Vi cheat sheetVi cheat sheet
Vi cheat sheet
 
Css cheat sheet
Css cheat sheetCss cheat sheet
Css cheat sheet
 
Cpp cheat sheet
Cpp cheat sheetCpp cheat sheet
Cpp cheat sheet
 
Ubuntu cheat sheet
Ubuntu cheat sheetUbuntu cheat sheet
Ubuntu cheat sheet
 
Php cheat sheet
Php cheat sheetPhp cheat sheet
Php cheat sheet
 
oracle 9i cheat sheet
oracle 9i cheat sheetoracle 9i cheat sheet
oracle 9i cheat sheet
 
Open ssh cheet sheat
Open ssh cheet sheatOpen ssh cheet sheat
Open ssh cheet sheat
 

Recently uploaded

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 

Recently uploaded (20)

How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 

Git cheat sheet

  • 1. fournova git cheat sheet presented by Tower – the most powerful Git client for Mac Create Branches & Tags Merge & Rebase Clone an existing repository List all existing branches Merge branch into your current HEAD $ git clone ssh://user@domain.com/repo.git $ git branch $ git merge branch Create a new local repository Switch HEAD branch Rebase your current HEAD onto branch $ git init $ git checkout branch Don‘t rebase published commits! $ git rebase branch Create a new branch based on your local Changes current HEAD Abort a rebase $ git branch new-branch $ git rebase --abort Changed files in your working directory $ git status Create a new tracking branch based on Continue a rebase after resolving conflicts a remote branch $ git rebase --continue Changes to tracked files $ git branch --track new-branch $ git diff remote-branch Use your configured merge tool to solve conflicts Add all current changes to the next Delete a local branch commit $ git mergetool $ git branch -d branch $ git add . Use your editor to manually solve con- Mark the current commit with a tag flicts and (after resolving) mark file as Add some changes in file to the next resolved commit $ git tag tag-name $ git add resolved-file $ git add -p file Update Publish $ git rm resolved-file Commit all local changes in tracked files $ git commit -a List all currently configured remotes Undo $ git remote -v Commit previously staged changes Discard all local changes in your working $ git commit Show information about a remote directory $ git remote show remote $ git reset --hard HEAD Change the last commit Don‘t amend published commits! Add new remote repository, named Discard local changes in a specific file $ git commit --amend remote $ git checkout HEAD file $ git remote add remote url Revert a commit (by producing a new Download all changes from remote, commit with contrary changes) Commit History but don‘t integrate into HEAD $ git revert commit $ git fetch remote Show all commits, starting with newest Reset your HEAD pointer to a previous $ git log Download changes and directly merge/ commit integrate into HEAD …and discard all changes since then Show changes over time for a specific file $ git pull remote branch $ git log -p file $ git reset --hard commit Publish local changes on a remote …and preserve all changes as unstaged Who changed what and when in file $ git push remote branch changes $ git blame file Delete a branch on the remote $ git reset commit $ git push remote :branch …and preserve uncommitted local changes Publish your tags $ git reset --keep commit $ git push --tags 30-day free trial available at www.git-tower.com the most powerful Git client for Mac
  • 2. fournova version control best practices Commit Related Changes Test Code Before You Commit Use Branches A commit should be a wrapper for related Resist the temptation to commit some- Branching is one of Git‘s most powerful changes. For example, fixing two diffe- thing that you «think» is completed. Test features - and this is not by accident: rent bugs should produce two separate it thoroughly to make sure it really is quick and easy branching was a central commits. Small commits make it easier completed and has no side effects (as far requirement from day one. Branches are for other developers to understand the as one can tell). While committing half- the perfect tool to help you avoid mixing changes and roll them back if something baked things in your local repository only up different lines of development. You went wrong. requires you to forgive yourself, having should use branches extensively in your With tools like the staging area and the your code tested is even more important development workflows: for new fea- ability to stage only parts of a file, Git when it comes to pushing/sharing your tures, bug fixes, ideas… makes it easy to create very granular code with others. commits. Commit Often Write Good Commit Messages Agree on a Workflow Committing often keeps your commits Begin your message with a short sum- Git lets you pick from a lot of different small and, again, helps you commit only mary of your changes (up to 50 charac- workflows: long-running branches, topic related changes. Moreover, it allows you ters as a guideline). Separate it from branches, merge or rebase, git-flow… to share your code more frequently with the following body by including a blank Which one you choose depends on a others. That way it‘s easier for everyone line. The body of your message should couple of factors: your project, your to integrate changes regularly and avoid provide detailed answers to the following overall development and deployment having merge conflicts. Having few large questions: workflows and (maybe most important- commits and sharing them rarely, in con- – hat was the motivation for the change? W ly) on your and your teammates‘ personal trast, makes it hard to solve conflicts. – ow does it differ from the previous H preferences. However you choose to implementation? work, just make sure to agree on a com- mon workflow that everyone follows. Use the imperative, present tense («change», not «changed» or «changes») Don‘t Commit Half-Done Work to be consistent with generated messa- You should only commit code when ges from commands like git merge. Help Documentation it‘s completed. This doesn‘t mean you have to complete a whole, large feature Get help on the command line before committing. Quite the contrary: $ git help command split the feature‘s implementation into Version Control is not a Backup System logical chunks and remember to commit early and often. But don‘t commit just to Having your files backed up on a remote Official Git Website have something in the repository before server is a nice side effect of having a leaving the office at the end of the day. If http://www.git-scm.com/ version control system. But you should you‘re tempted to commit just because not use your VCS like it was a backup Free online resources you need a clean working copy (to check system. When doing version control, you http://progit.org out a branch, pull in changes, etc.) consi- should pay attention to committing se- http://book.git-scm.org der using Git‘s «Stash» feature instead. mantically (see «related changes») - you http://gitref.org shouldn‘t just cram in files. 30-day free trial available at www.git-tower.com the most powerful Git client for Mac