Share about git internal mechanism about how git commands such as git init, git add ,git commit, git branch etc. work!
This is also my reading notes of these two books --- <<git>> and <<pro>>
Share about git internal mechanism about how git commands such as git init, git add ,git commit, git branch etc. work!
This is also my reading notes of these two books --- <<git>> and <<pro>>
A Basic Git intro presentation for SVN long timers doing their first steps in Git.
This presentation is meant to clear up most of the basic concepts which cause confusion with developers using Git as if it was an SVN.
Two days git training with labs
First day covers git basis and essential commands
Second day covers git additional command with a big lab using a git workflow
GitHub is a web-based hosting service for version control using git. It is mostly used for computer code. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project
Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git.
First, it sets off with a guide to install and configure git on various platforms.
Then, the basic working concepts of Git are explained.
This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git.
Afterwards, Some auxillary commands that are frequently used are discussed briefly.
Finally, basic concepts of branching and merging are detailed.
The presentation ends with a few possible merge conflicts that occur in Git.
Git is a distributed version control system, created by Linus Torvalds, and used worldwide by many software developers for a large number of well known software projects.
In this presentation, I explain the fundamentals of the Git software and some of its internal workings and related terminology. The target audience is individuals who have used Git before in a limited capacity and want expand their knowledge of the software to improve their daily use of it. The presentation could also be useful for those with knowledge of Git and a desire to improve their understanding of some of the more technically elements.
Git Is A State Of Mind - The path to becoming a Master of the mystic art of GitNicola Costantino
"The path to becoming a Master of the mystic art of Git".
A rolling-release presentation on some of the less known internal aspects and commands of Git, some advice for a better use and common workflows.
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.
This PPT describes most used commands.
This presentation covers how to modify git history to fix mistakes and provide a clearer picture of the flow of changes. I walk through some basic git fundamentals, and then outline several different methods of modifying history, as well as what type of situation they would apply for.
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...Edureka!
This DevOps Tutorial on what is Git & what is GitHub ( Git Blog series: https://goo.gl/XS1Vux ) will let you know all about Version Control System & Version Control Tools like Git. You will learn all the Git commands to create repositories on your local machine & GitHub, commit changes, push & pull files. Also you will get your hands on with some advanced operations in Git like branching, merging, rebasing etc. Below are the topics covered in this tutorial:
1. Version Control Introduction
2. Why version Control?
3. Version Control Tools
4. Git & GitHub
5. Case Study: Dominion enterprises
6. What is Git?
7. Features of Git
8. What is a Repository?
9. Git Operations and Commands
A Basic Git intro presentation for SVN long timers doing their first steps in Git.
This presentation is meant to clear up most of the basic concepts which cause confusion with developers using Git as if it was an SVN.
Two days git training with labs
First day covers git basis and essential commands
Second day covers git additional command with a big lab using a git workflow
GitHub is a web-based hosting service for version control using git. It is mostly used for computer code. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project
Git is a distributed revision control system that is widely used in the software development industry. The presentation was used in a lecture delivered in BITS-Pilani, India. The lecture served as a basic crash course on Git.
First, it sets off with a guide to install and configure git on various platforms.
Then, the basic working concepts of Git are explained.
This is followed by a detailed step-by-step guided demonstration of a sample workflow in Git.
Afterwards, Some auxillary commands that are frequently used are discussed briefly.
Finally, basic concepts of branching and merging are detailed.
The presentation ends with a few possible merge conflicts that occur in Git.
Git is a distributed version control system, created by Linus Torvalds, and used worldwide by many software developers for a large number of well known software projects.
In this presentation, I explain the fundamentals of the Git software and some of its internal workings and related terminology. The target audience is individuals who have used Git before in a limited capacity and want expand their knowledge of the software to improve their daily use of it. The presentation could also be useful for those with knowledge of Git and a desire to improve their understanding of some of the more technically elements.
Git Is A State Of Mind - The path to becoming a Master of the mystic art of GitNicola Costantino
"The path to becoming a Master of the mystic art of Git".
A rolling-release presentation on some of the less known internal aspects and commands of Git, some advice for a better use and common workflows.
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.
This PPT describes most used commands.
This presentation covers how to modify git history to fix mistakes and provide a clearer picture of the flow of changes. I walk through some basic git fundamentals, and then outline several different methods of modifying history, as well as what type of situation they would apply for.
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...Edureka!
This DevOps Tutorial on what is Git & what is GitHub ( Git Blog series: https://goo.gl/XS1Vux ) will let you know all about Version Control System & Version Control Tools like Git. You will learn all the Git commands to create repositories on your local machine & GitHub, commit changes, push & pull files. Also you will get your hands on with some advanced operations in Git like branching, merging, rebasing etc. Below are the topics covered in this tutorial:
1. Version Control Introduction
2. Why version Control?
3. Version Control Tools
4. Git & GitHub
5. Case Study: Dominion enterprises
6. What is Git?
7. Features of Git
8. What is a Repository?
9. Git Operations and Commands
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
Find out why more and more developers are switching to Git - distributed version control. This intro to Git covers the basics, from cloning to pushing for beginners.
Learn Git - For Beginners and Intermediate levelsGorav Singal
Learn Git Basics and Fundamentals.
This is a perfect start for beginners and at Intermediate levels.
This contains a few commands and fundamentals about Git. Topics ranging from basic commands to creating branches, stashes. How to revert your code, how to tag your releases.
It also covers a few branching strategies.
GIT Details for people who:
* don't know what version control means
* don't know what distributed version control means
* Used to work on SVN (Subversion)
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
2. What is GIT
• Version control system
• decentralised by nature
but can be used as
centralised by convention
Repo
Repo
Repo
3. Git Lifecycle
• Create
• Create a local repo or clone from existing
• Create a remote repo for centralised sharing (also called bare repositories)
• configure repository details, gitignore, remote repos
• Collaborate
• fetch,pull,commit,push changes
• branching
• merging vs rebasing
• Maintain
• iterate collaboration further sprints with tagging versions and releases
• optimize
5. Bare Repo vs Repo
Bare repo Repo
No working copy
working copy checked out in the
directory
cannot edit directly edit commit and push changes
usually used for centralised
sharing for repositories
used for development on local
boxes
git init --bare {directory name} git init {directory name}
6. Remote Repository Services
• Used to host Bare repositories
• Main usage is as centralised repos for sharing
• Can be an online service
• Bitbucket, Github, AWS CodeCommit
• Can be a local service
• Gitlab
7. Create a local repo
• One time operation
• To create a repository in current directory
• git init
• To create a repository in specified directory
• git init {directory name}
• This creates and checks out a empty repository to which files can be
added.
• a hidden directory called .git in the specified or working directory as
applicable
8. Add a remote repo
• If the local repo is a new repo then we might need to add the remote repo setup for sharing
• git remote add {remotename} {remote path/URL}
• example
• git remote add origin https://github.com/user/repo.git
• we can have multiple remote repos to a local repo
• change a remote URL
• git remote set-url {remotename} {new remote url}
• rename a remote
• git remote rename {old name} {new name}
• list all remotes
• git remote -v
9. Clone a repo
• A repo can be cloned from a local machine or from a remote location to a specified
location
• the command structure is
• git clone <repo path> <local directory name>
• this can be done over ssh / https for remote repos and just by giving the path when
cloning in the same machine.
• if no local directory name is specified it clones into the current working directory as
with the above examples
• If need to clone to a specific directory , then need to specify the folder name at the
end of the command
• git clone https://github.com/username/repo.git /path/to/custom-directory-name
10. Configuring a Git repo
• The command structure usually is
• git config <option> <parameter> <value>
• the option can specify scope which can be local, global or system
• local is for that repo, whereas global is for that user and system is system wide
• git config --global user.email <email>
• git config --global user.name <name>
• local overrides global, global overrides system
• local config is in .git/config
• global is in ~/.gitconfig
• system is in /etc/gitconfig
11. Configuring a Git repo
• We can do a variety of manipulations with git config command
• some examples
• Tell Git who you are
• git config --global user.name "John Smith"
• git config --global user.email john@example.com
• Select your favourite text editor
• git config --global core.editor vim
• Ignore file permission changes for committing
• git config --global core.fileMode false
12. .gitignore
• this is used to ignore any files/folder from the repository
• a .gitignore file can have a rule ignoring a specific file or all files with an extension.
• It can be used even to ignore itself (i don’t recommend it though)
• example entries in the gitignore file
• debug.log
• *.log
• img/*
• !img/logo.png
• Highly useful for ignoring user uploaded content from filling up the repo and keep
the repo manageable
14. Committing changes
• We first need to stage any changes before committing.
• this can be done for all files changed
• git add .
• for specific files by
• git add {specific file name}
• To commit the changes
• git commit -m ‘message for commit’
15. To track and update changes
from/to remote
• check status of current local repo
• git status
• to update tracking from remote repo
• git fetch
• to pull changes from remote repo
• git pull {remote name} {branch name}
• to push changes
• git push {remote name} {branch name}
• git push --all
• git push --dry-run
16. Amending, Reverting and
Resetting a commit
• To amend a commit
• git commit --amend
• reverting
• when reverting it undoes a commit’s changes and creates a new commit
• git revert <commit>
• safer
• resetting
• resets your working copy to a particular commit undoing any other changes you have done
• git reset [--soft --hard] <commit>
• like in rebasing dangerous as public shared commits can get modified causing issues
• to discard any working copy changes resetting this is useful
• git reset --hard
17. Committing a deleted file
• Sometimes you need to delete a file from the repo
• This doesn’t get automatically staged when you do
git add .
• Need to specify that you need to stage deleted files
as well before committing
• git add -u .
18. Branching
• A variety of strategies available
• create branches for bugfixes, development of new features and any and all changes to codebase
• create new branch
• git branch {branch name}
• git checkout {branch name}
• these can be done with a single command as well
• git checkout -b {branch name}
• switch to an existing branch
• git checkout {branch name}
• list branches
• git branch (for local only)
• git branch -r (for remote only)
• git branch -a (for both)
19. Merging
• The branches need to be merged to the master
branch after testing for release.
• to merge
• switch to the branch that is to be merged into (ex)
master
• git checkout master
• merge the branch (ex) hotfix1223
• git merge hotfix1223
• to merge Pull requests can also be used for an
administrator to verify the changes in Remote repos
• when merging we might run into conflicts
20. Merge Conflicts
• Do a git status to find which file is
conflicting and open it
• A conflicting file will look like the example
on the side
• A conflict occurs when there are changes
from two branches on the same line
• in the example the footer line has been
changed on master and on the hot fix
branch
• All to more reason to NEVER do changes
on the master branch directly
• Also conflicts may occur when merging a
branch from a different developer to your
own branch
<<<<<<< HEAD:index.html
<div id="footer">contact :
support@muhilvannan.com</div>
=======
<div id="footer">
please contact us at
support@muhilvannan.com
</div>
>>>>>>> hotfix1223:index.html
21. Fixing Conflicts
<<<<<<< HEAD:index.html to=======
is the block on the master/ current branch
======= to >>>>>>> hotfix1223:index.html
is the block on the branch to merged
• these need to be replaced with the text as required.
• the replacing text can be from the current branch or from
the branch being merged or a combination of both
• make sure
<<<<<<< HEAD:index.html
=======
>>>>>>> hotfix1223:index.html
are removed fro the code as depicted in the right column
• save and commit
<<<<<<< HEAD:index.html
<div id="footer">contact : support@muhilvannan.com</div>
=======
<div id="footer">
please contact us at support@muhilvannan.com
</div>
>>>>>>> hotfix1223:index.html
<div id="footer">
please contact us at support@muhilvannan.com
</div>
replace with
22. Fixing Conflicts
• There are graphical tools for fixing merge conflicts
as well
• git mergetool
• you might need to configure the tool if not already
• git config --global merge.tool {mergetool name}
• kdiff3 and extmetge are very good tools
23. Rebasing
• Rebasing is the process of
moving a branch to a new
base commit
• Useful to do locally
• NOT SAFE for public history
repositories, as the history
might be modified and cause
issues with other developers
• The golden rule of git rebase
is to never use it on public
branches
• I would recommend Merge
instead of rebase just to
eliminate this issue so as to
never mistakenly change it
25. Tagging
• With git you can tag an commit for easy finding and
downloading
• also useful for tagging release versions
• git tag -a {tag} -m ‘message'
• git tag -a {tag} {commit number}
• To checkout a branch and a tagged commit
• git checkout -b [branchname] [tagname]
26. Tagging
• to list tags
• git tag
• push tags to remote
• git push {remote name} --tags
• delete a tag
• git tag -d {tag}
• git push {remote name} --tags
27. Stashing
• Files not ready to be committed can be stashed.
• git stash
• git stash list
• git stash apply
28. Optimize a Git repo
• used to optimise git repo and clean up loose objects
• sometimes run along with usual git commands
• can also be run manually
• 'git gc' [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune]
[—force]
29. GUI tools for git
• Sourcetree - mac & windows
• Tower - mac
• GitEye - linux
• Github for windows
• Github for mac
30. Things to note
• Git doesn’t maintain a folder structure if nothing
underneath it is gitted.
• files called empty should be added to the folder and
the repo for this purpose
• File permissions are usually gitted along with the
files and if you want to ignore any changes to file
permissions the repo needs to be configured