SlideShare a Scribd company logo
1 of 23
Download to read offline
(origin)MasteringGIT
git init
Iván Palma | ipalma@mobaires.com
Index
● Git Basics
● Useful when collaborating
● More advanced stuff
Gitbasics
Basics and prerequisites to follow this guide:
● Try Git: https://try.github.io/
● Git The Three States: https://git-scm.com/book/en/v2/Getting-Started-Git-
Basics#The-Three-States
a. Committed (data in the repo)
b. Modified (file changed but not committed)
c. Staged (marked a modified file to go
into your next commit)
● Understanding Git Conceptually:
http://www.sbf5.com/~cduan/technical/git/
a. Repositories
b. Branching
c. Merging
d. Collaborating
e. Rebasing
USefulwhencollaborating
1. Fork
2. Pull Requests
3. Remotes
4. Merge vs Rebase
1. fork
A fork is a copy of a repository, that allows you to freely experiment without
affecting the original project.
Usual workflow:
● Fork the repository.
● Make the fix.
● Submit a pull request to the project owner.
More info: https://help.github.com/articles/fork-a-repo/
2.pullrequests
Pull requests let you tell others about changes you've pushed to a repository
on GitHub. A pull request let pull your fix from your fork into the original
repository.
It allows:
● Review proposed changes
● Discuss changes
● Merge changes
More info: https://help.github.com/articles/using-pull-requests/
3.Remotes
Remote repositories are versions of your project that are hosted on the
network. Collaborating with others involves managing these remote
repositories.
Useful commands:
● Show remotes: git remote -v
● Add remote: git remote add [shortname] [url]
● Rename remote: git remote rename [shortname] [newname]
● Remove remote: git remote rm [shortname]
More info: https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes
4.mergevsRebase
Both of these commands are designed to integrate changes from one branch into
another branch—they just do it in very different ways.
It’s easier to see what both commands do with the following example:
1. Start working on a new feature in
a dedicated branch.
2. A team member updates the master
branch with new commits.
3. To incorporate the new commits
into your feature branch, you
have two options: merging or
rebasing.
4.mergevsRebase
The Merge Option:
git checkout feature
git merge master
or
git merge master feature
This creates a new “merge commit” in
the feature branch.
Merging:
● It’s a non-destructive operation (the existing branches are not changed).
● The feature branch will have an extraneous merge commit every time you
need to incorporate upstream changes.
4.mergevsRebase
The Rebase Option:
git checkout feature
git rebase master
This moves the feature branch to
begin on the tip of the master
branch.
Rebasing:
● Cleaner project history (new commit for each commit in the original branch).
● Results in a perfectly linear project history.
4.mergevsRebase
Important things for Rebase
● The Golden Rule of Rebasing: never use it on public branches.
● Force-Pushing: git push --force. This overwrites the remote master branch
to match the rebased one from your repository.
More info:
https://www.atlassian.com/git/tutorials/merging-vs-rebasing
https://www.atlassian.com/git/articles/git-team-workflows-merge-or-rebase/
Moreadvancedstuff
1. Reset
2. Checkout
3. Revert
4. Reflog
5. Log
6. Stash
7. Other commands
8. Git Autocomplete
1. reset
On the commit-level, moves the tip of a branch to a different commit.
Example: git reset HEAD~2
1. reset
Flags: --soft, --mixed and --hard. Examples:
git reset --mixed HEAD
Unstage all changes, but leaves
them in the working directory
git reset --hard HEAD
Completely throw away all your
uncommitted changes
2.checkout
Most common usage: switch between branches: git checkout hotfix .
You can also check out arbitrary commits: git checkout HEAD~2 . However, since
there is no branch reference to the current HEAD, this puts you in a detached
HEAD state.
3.revert
Undoes a commit by creating a new commit. This is a safe way to undo changes.
Example: git revert HEAD~2
summary:Reset-Checkout-Revert
Command Scope Common use cases
git reset Commit-level Discard commits in a private branch or
throw away uncommited changes
git reset File-level Unstage a file
git checkout Commit-level Switch between branches or inspect old
snapshots
git checkout File-level Discard changes in the working directory
git revert Commit-level Undo commits in a public branch
git revert File-level (N/A)
More info: https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting
4.reflog
It records almost every change you make in your repository.
You can think of it is a chronological history of everything you’ve done in
your local repo.
Example: you can use this to revert to a state that would otherwise be lost,
like restoring some lost commits.
git reflog
5.Log
Shows the commit logs.
There are some useful flags that let you format or filter the output:
● --oneline
● --decorate (display all of the references)
● --graph
● --max-count=
● --author=<pattern>
● --grep=<pattern>
More info: http://git-scm.com/docs/git-log
6.stash
Let you pause what you’re currently working on and come back to it later.
Useful stash commands:
● git stash / git stash save <message>
● git stash apply / git stash pop
● git stash list
● git stash drop <id>
More info:
http://gitready.com/beginner/2009/01/10/stashing-your-changes.html
http://gitready.com/beginner/2009/03/13/smartly-save-stashes.html
7.Othercommands
● Temporarily ignoring files locally:
- git update-index --assume-unchanged <file>
- git update-index --no-assume-unchanged <file>
More info: http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html
● Pick out individual commits:
- git cherry-pick <commit>
More info: http://gitready.com/intermediate/2009/03/04/pick-out-individual-commits.html
8.gitautocomplete
Autocomplete Git Commands and Branch Names in Bash:
http://code-worrier.com/blog/autocomplete-git/
Usefullinks
● Good tips: http://gitready.com/
● Advanced: https://www.atlassian.com/git/tutorials/advanced-overview
● Git Community Book: http://git-scm.com/book/en/v2
Iván Palma | ipalma@mobaires.com

More Related Content

What's hot

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
 

What's hot (20)

Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
Git
GitGit
Git
 
Git introduction workshop for scientists
Git introduction workshop for scientists Git introduction workshop for scientists
Git introduction workshop for scientists
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
Git basics
Git basicsGit basics
Git basics
 
Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
 
Git presentation
Git presentationGit presentation
Git presentation
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git & GitHub for Beginners
Git & GitHub for BeginnersGit & GitHub for Beginners
Git & GitHub for Beginners
 
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 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
 
Git learning
Git learningGit learning
Git learning
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
Gitting out of trouble
Gitting out of troubleGitting out of trouble
Gitting out of trouble
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
 
Git tutorial
Git tutorial Git tutorial
Git tutorial
 
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 Basics at Rails Underground
Git Basics at Rails UndergroundGit Basics at Rails Underground
Git Basics at Rails Underground
 
Git basics
Git basicsGit basics
Git basics
 

Viewers also liked

Git 101 tutorial presentation
Git 101 tutorial presentationGit 101 tutorial presentation
Git 101 tutorial presentation
Terry Wang
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
Naresh Jain
 
доклад «о процессе работы в Ux depot на примере кейса i pogoda.ru»
доклад «о процессе работы в Ux depot на примере кейса i pogoda.ru»доклад «о процессе работы в Ux depot на примере кейса i pogoda.ru»
доклад «о процессе работы в Ux depot на примере кейса i pogoda.ru»
Yaroslav Birzool
 
Template มคอ. 5
Template มคอ. 5Template มคอ. 5
Template มคอ. 5
Aichom Naja
 
Csis 1514 excel ch 1 ppt
Csis 1514 excel ch 1 pptCsis 1514 excel ch 1 ppt
Csis 1514 excel ch 1 ppt
Hamdani Nurdin
 

Viewers also liked (20)

Git basic
Git basicGit basic
Git basic
 
Git 101 tutorial presentation
Git 101 tutorial presentationGit 101 tutorial presentation
Git 101 tutorial presentation
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
 
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
 
沒有 GUI 的 Git
沒有 GUI 的 Git沒有 GUI 的 Git
沒有 GUI 的 Git
 
Power Sampling Reaches Consumers At Home
Power Sampling Reaches Consumers At HomePower Sampling Reaches Consumers At Home
Power Sampling Reaches Consumers At Home
 
доклад «о процессе работы в Ux depot на примере кейса i pogoda.ru»
доклад «о процессе работы в Ux depot на примере кейса i pogoda.ru»доклад «о процессе работы в Ux depot на примере кейса i pogoda.ru»
доклад «о процессе работы в Ux depot на примере кейса i pogoda.ru»
 
Psicologia
PsicologiaPsicologia
Psicologia
 
MIGUEL HERNÁNDEZ CENTENARIO
MIGUEL HERNÁNDEZ CENTENARIOMIGUEL HERNÁNDEZ CENTENARIO
MIGUEL HERNÁNDEZ CENTENARIO
 
Education 3.0
Education 3.0Education 3.0
Education 3.0
 
Template มคอ. 5
Template มคอ. 5Template มคอ. 5
Template มคอ. 5
 
Skoda Yeti Launch 2009
Skoda Yeti Launch 2009Skoda Yeti Launch 2009
Skoda Yeti Launch 2009
 
Pedro López de alda
Pedro López de aldaPedro López de alda
Pedro López de alda
 
Future of the ICT is now!
Future of the ICT is now!Future of the ICT is now!
Future of the ICT is now!
 
Comunicación Digital para proyectos de desarrollo
Comunicación Digital para proyectos de desarrolloComunicación Digital para proyectos de desarrollo
Comunicación Digital para proyectos de desarrollo
 
Graham 6pix power point presentation
Graham 6pix power point presentationGraham 6pix power point presentation
Graham 6pix power point presentation
 
Clay'’s Life and Family
Clay'’s Life and FamilyClay'’s Life and Family
Clay'’s Life and Family
 
BcnCoolHunter N8 Mayo 2016
BcnCoolHunter N8 Mayo 2016BcnCoolHunter N8 Mayo 2016
BcnCoolHunter N8 Mayo 2016
 
Csis 1514 excel ch 1 ppt
Csis 1514 excel ch 1 pptCsis 1514 excel ch 1 ppt
Csis 1514 excel ch 1 ppt
 

Similar to Git tutorial

Git tutorial undoing changes
Git tutorial   undoing changesGit tutorial   undoing changes
Git tutorial undoing changes
LearningTech
 

Similar to Git tutorial (20)

Git tips
Git tipsGit tips
Git tips
 
Collaborative development with Git | Workshop
Collaborative development with Git | WorkshopCollaborative development with Git | Workshop
Collaborative development with Git | Workshop
 
Git github
Git githubGit github
Git github
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
Git-ing out of your git messes
Git-ing out of  your git messesGit-ing out of  your git messes
Git-ing out of your git messes
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Use Git like a pro - condensed
Use Git like a pro - condensedUse Git like a pro - condensed
Use Git like a pro - condensed
 
Honestly Git Playground 20190221
Honestly Git Playground 20190221Honestly Git Playground 20190221
Honestly Git Playground 20190221
 
How to Really Get Git
How to Really Get GitHow to Really Get Git
How to Really Get Git
 
Git from the trenches
Git from the trenchesGit from the trenches
Git from the trenches
 
Hacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHubHacktoberfest intro to Git and GitHub
Hacktoberfest intro to Git and GitHub
 
Introduction to Git (part 2)
Introduction to Git (part 2)Introduction to Git (part 2)
Introduction to Git (part 2)
 
Git tutorial undoing changes
Git tutorial   undoing changesGit tutorial   undoing changes
Git tutorial undoing changes
 
Introduction to git, a version control system
Introduction to git, a version control systemIntroduction to git, a version control system
Introduction to git, a version control system
 
Git slides
Git slidesGit slides
Git slides
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
sample.pptx
sample.pptxsample.pptx
sample.pptx
 
Git training v10
Git training v10Git training v10
Git training v10
 
390a gitintro 12au
390a gitintro 12au390a gitintro 12au
390a gitintro 12au
 
Introduction to git, an efficient distributed version control system
Introduction to git, an efficient distributed version control systemIntroduction to git, an efficient distributed version control system
Introduction to git, an efficient distributed version control system
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Git tutorial

  • 2. Index ● Git Basics ● Useful when collaborating ● More advanced stuff
  • 3. Gitbasics Basics and prerequisites to follow this guide: ● Try Git: https://try.github.io/ ● Git The Three States: https://git-scm.com/book/en/v2/Getting-Started-Git- Basics#The-Three-States a. Committed (data in the repo) b. Modified (file changed but not committed) c. Staged (marked a modified file to go into your next commit) ● Understanding Git Conceptually: http://www.sbf5.com/~cduan/technical/git/ a. Repositories b. Branching c. Merging d. Collaborating e. Rebasing
  • 4. USefulwhencollaborating 1. Fork 2. Pull Requests 3. Remotes 4. Merge vs Rebase
  • 5. 1. fork A fork is a copy of a repository, that allows you to freely experiment without affecting the original project. Usual workflow: ● Fork the repository. ● Make the fix. ● Submit a pull request to the project owner. More info: https://help.github.com/articles/fork-a-repo/
  • 6. 2.pullrequests Pull requests let you tell others about changes you've pushed to a repository on GitHub. A pull request let pull your fix from your fork into the original repository. It allows: ● Review proposed changes ● Discuss changes ● Merge changes More info: https://help.github.com/articles/using-pull-requests/
  • 7. 3.Remotes Remote repositories are versions of your project that are hosted on the network. Collaborating with others involves managing these remote repositories. Useful commands: ● Show remotes: git remote -v ● Add remote: git remote add [shortname] [url] ● Rename remote: git remote rename [shortname] [newname] ● Remove remote: git remote rm [shortname] More info: https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes
  • 8. 4.mergevsRebase Both of these commands are designed to integrate changes from one branch into another branch—they just do it in very different ways. It’s easier to see what both commands do with the following example: 1. Start working on a new feature in a dedicated branch. 2. A team member updates the master branch with new commits. 3. To incorporate the new commits into your feature branch, you have two options: merging or rebasing.
  • 9. 4.mergevsRebase The Merge Option: git checkout feature git merge master or git merge master feature This creates a new “merge commit” in the feature branch. Merging: ● It’s a non-destructive operation (the existing branches are not changed). ● The feature branch will have an extraneous merge commit every time you need to incorporate upstream changes.
  • 10. 4.mergevsRebase The Rebase Option: git checkout feature git rebase master This moves the feature branch to begin on the tip of the master branch. Rebasing: ● Cleaner project history (new commit for each commit in the original branch). ● Results in a perfectly linear project history.
  • 11. 4.mergevsRebase Important things for Rebase ● The Golden Rule of Rebasing: never use it on public branches. ● Force-Pushing: git push --force. This overwrites the remote master branch to match the rebased one from your repository. More info: https://www.atlassian.com/git/tutorials/merging-vs-rebasing https://www.atlassian.com/git/articles/git-team-workflows-merge-or-rebase/
  • 12. Moreadvancedstuff 1. Reset 2. Checkout 3. Revert 4. Reflog 5. Log 6. Stash 7. Other commands 8. Git Autocomplete
  • 13. 1. reset On the commit-level, moves the tip of a branch to a different commit. Example: git reset HEAD~2
  • 14. 1. reset Flags: --soft, --mixed and --hard. Examples: git reset --mixed HEAD Unstage all changes, but leaves them in the working directory git reset --hard HEAD Completely throw away all your uncommitted changes
  • 15. 2.checkout Most common usage: switch between branches: git checkout hotfix . You can also check out arbitrary commits: git checkout HEAD~2 . However, since there is no branch reference to the current HEAD, this puts you in a detached HEAD state.
  • 16. 3.revert Undoes a commit by creating a new commit. This is a safe way to undo changes. Example: git revert HEAD~2
  • 17. summary:Reset-Checkout-Revert Command Scope Common use cases git reset Commit-level Discard commits in a private branch or throw away uncommited changes git reset File-level Unstage a file git checkout Commit-level Switch between branches or inspect old snapshots git checkout File-level Discard changes in the working directory git revert Commit-level Undo commits in a public branch git revert File-level (N/A) More info: https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting
  • 18. 4.reflog It records almost every change you make in your repository. You can think of it is a chronological history of everything you’ve done in your local repo. Example: you can use this to revert to a state that would otherwise be lost, like restoring some lost commits. git reflog
  • 19. 5.Log Shows the commit logs. There are some useful flags that let you format or filter the output: ● --oneline ● --decorate (display all of the references) ● --graph ● --max-count= ● --author=<pattern> ● --grep=<pattern> More info: http://git-scm.com/docs/git-log
  • 20. 6.stash Let you pause what you’re currently working on and come back to it later. Useful stash commands: ● git stash / git stash save <message> ● git stash apply / git stash pop ● git stash list ● git stash drop <id> More info: http://gitready.com/beginner/2009/01/10/stashing-your-changes.html http://gitready.com/beginner/2009/03/13/smartly-save-stashes.html
  • 21. 7.Othercommands ● Temporarily ignoring files locally: - git update-index --assume-unchanged <file> - git update-index --no-assume-unchanged <file> More info: http://gitready.com/intermediate/2009/02/18/temporarily-ignoring-files.html ● Pick out individual commits: - git cherry-pick <commit> More info: http://gitready.com/intermediate/2009/03/04/pick-out-individual-commits.html
  • 22. 8.gitautocomplete Autocomplete Git Commands and Branch Names in Bash: http://code-worrier.com/blog/autocomplete-git/
  • 23. Usefullinks ● Good tips: http://gitready.com/ ● Advanced: https://www.atlassian.com/git/tutorials/advanced-overview ● Git Community Book: http://git-scm.com/book/en/v2 Iván Palma | ipalma@mobaires.com