Tutorial on Version control system using git and github.
To learn more and to download printable cheet sheets please visit my website www.techoalien.com.
Also like us on facebook https://www.facebook.com/techoalien
Mistakes happen - no matter how experienced you are. Using Git as your version control system, however, you have a safety net that helps you if it comes to the worst. Learn how to undo, roll back, and recover from mistakes.
Mistakes happen - no matter how experienced you are. Using Git as your version control system, however, you have a safety net that helps you if it comes to the worst. Learn how to undo, roll back, and recover from mistakes.
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.
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 version control system for tracking changes in computer files and coordinating work on those files among multiple people.
This PPT describes most used commands.
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
The Basics of Open Source Collaboration With Git and GitHubBigBlueHat
A revised/minimized version of Nick Quaranto's (http://www.slideshare.net/qrush ) presentation on the same topic. This revised version was used to present Git to a group of students at ECPI who were not yet familiar with the concepts of version control or Git.
The Information Technology have led us into an era where the production, sharing and use of information are now part of everyday life and of which we are often unaware actors almost: it is now almost inevitable not leave a digital trail of many of the actions we do every day; for example, by digital content such as photos, videos, blog posts and everything that revolves around the social networks (Facebook and Twitter in particular). Added to this is that with the "internet of things", we see an increase in devices such as watches, bracelets, thermostats and many other items that are able to connect to the network and therefore generate large data streams. This explosion of data justifies the birth, in the world of the term Big Data: it indicates the data produced in large quantities, with remarkable speed and in different formats, which requires processing technologies and resources that go far beyond the conventional systems management and storage of data. It is immediately clear that, 1) models of data storage based on the relational model, and 2) processing systems based on stored procedures and computations on grids are not applicable in these contexts. As regards the point 1, the RDBMS, widely used for a great variety of applications, have some problems when the amount of data grows beyond certain limits. The scalability and cost of implementation are only a part of the disadvantages: very often, in fact, when there is opposite to the management of big data, also the variability, or the lack of a fixed structure, represents a significant problem. This has given a boost to the development of the NoSQL database. The website NoSQL Databases defines NoSQL databases such as "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open source and horizontally scalable." These databases are: distributed, open source, scalable horizontally, without a predetermined pattern (key-value, column-oriented, document-based and graph-based), easily replicable, devoid of the ACID and can handle large amounts of data. These databases are integrated or integrated with processing tools based on the MapReduce paradigm proposed by Google in 2009. MapReduce with the open source Hadoop framework represent the new model for distributed processing of large amounts of data that goes to supplant techniques based on stored procedures and computational grids (step 2). The relational model taught courses in basic database design, has many limitations compared to the demands posed by new applications based on Big Data and NoSQL databases that use to store data and MapReduce to process large amounts of data.
Course Website http://pbdmng.datatoknowledge.it/
Contact me to download the slides
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
3. Why do you care?
You’ve probably cooked up your own
•AdityaResumeOct2013.doc
•AdityaResumeMar2014.doc
•instacalc-logo3.png
•instacalc-logo4.png
•logo-old.png
4. It’s why we use “Save As”.
You want the new file without obliterating the old
one.
It’s a common problem, and solutions are usually
like this:
•Make a single backup copy (Document.old.txt).
•If we’re clever, we add a version number or
date: Document_V1.txt, DocumentMarch2007.txt
•We may even use a shared folder so other
people can see and edit files without sending them
over email. Hopefully they re-label the file after
5. So Why Do We Need A Version Control
System (CS)?
•Our shared folder/naming system is fine for class projects
or one-time papers. But software projects? Not a chance.
•Do you think the Windows source code sits in a shared
folder like “Windows2007-Latest-UPDATED!!”, for anyone
to edit? That every programmer just works in a different
subfolder? No way.
6. •Large, fast-changing projects with many authors
need a Version Control System (geekspeak for “file
database”) to track changes and avoid general
chaos.
7. Attributes of Good VCS
•Backup and Restore
•Synchronization
•Short-term undo
•Long-term undo
•Track Changes
•Track Ownership
•Sandboxing or Insurance against yourself
•Branching and merging
24. Step 5:Again git status
•staged: Files are ready to be committed.
•unstaged: Files with changes that have not been prepared to
be committed
•untracked: Files aren't tracked by Git yet. This usually
indicates a newly created file.
•(Difference- Unstaged files are like files that has a node in git,
which have changed but not added for commit. untracked are
those files which doesn't have a node in git.)
•deleted: File has been deleted and is waiting to be removed
from Git.
25. Step 6 :git add list.txt
•Add all : You can also type git add -A . where the
dot stands for the current directory, so everything
in and beneath it is added. The-A ensures even file
deletions are included.
•git reset: You can use git reset <filename> to
remove a file or files from the staging area.
•
26. Step: 7 git status
•Files are now in staged portion
29. Step 10: Now add files
furniture.txt and books.txt
30. Step 11: git log
•git log --summary to see more information for
each commit. You can see where new files were
added for the first time or where files were deleted.
It's a good overview of what's going on in
the project.
32. Step 13: git remote add origin
<url>
•git remote: Git doesn't care what you name your
remotes, but it's typical to name your main one
origin.
•We are declaring our GitHub repo as origin
33. Step 14. git push -u origin master
So let's push our local changes to our origin repo (on GitHub).
The name of our remote is origin and the default local branch name is
master.
The -u tells Git to remember the parameters, so that next time we can
simply run git push and Git will know what to do. Go ahead and push it!
34. Step 15: password caching
•If you prefer working with the command line, you
can also install a native Git shell, such as msysgit.
With msysgit, running the following in the
command line will store your credentials
•git config --global credential.helper wincred
35. Step 16: git pull origin master
•Let's pretend some time has passed. We've invited
other people to our github project who have pulled
your changes, made their own commits, and
pushed them.
•We can check for changes on our GitHub
repository and pull down any new changes
36. Step 17: git diff HEAD
•The HEAD is a pointer that holds your position
within all your different commits. By default
HEAD points to your most recent commit, so it can
be used as a quick way to reference that commit
37. Step 18: Staged Differences
•Another great use for diff is looking at changes
within files that have already been staged.
Remember, staged files are files we have told git
that are ready to be committed.
•Add home/furniture.txt
•Run - git diff –staged
•Run- git add home/furniture.txt
38. Step 19: git reset home/furnitures
•You can unstage files by using the git reset
command. Go ahead and remove home/furnitures
39. Step 20. Undo
•git reset did a great job of unstaging furnitures.txt,
but you'll notice that he's still there. He's just not
staged anymore.
•git checkout --list.txt
40. Step 21 : Branching Out
Before branching out create version r7
42. Step 23:Switching Branches
git branch
To see all branches
•git checkout clean_up
Or
•git checkout -b new_branch
For creating and checking simultaneously
43. Step 24 : Removing All The Things
•git rm '*.txt‘
•for all folder remove git rm –r <foldername>
44. Step 25: Committing Branch
Changes
•git commit -m "Remove all the items“
*IMP The '-a' option
•If you happen to delete a file without using'git rm'
you'll find that you still have to'git rm' the deleted
files from the working tree. You can save this step
by using the '-a' option on 'git commit', which auto
removes deleted files with the commit.
•git commit -am "Delete stuff“
46. Step 26 : Switching Back to master
•git checkout master
•*IMP Pull Requests
If you're hosting your repo on GitHub, you can do
something called a pull request.
A pull request allows the boss of the project to look
through your changes and make comments before
deciding to merge in the change. It's a really great
feature that is used all the time for remote workers
and open-source projects.
48. Step 28 : (IMP) Merge Conflicts
•Merge Conflicts can occur when changes are made
to a file at the same time. A lot of people get really
scared when a conflict happens, but fear not! They
aren't that scary, you just need to decide which
code to keep.
•
•<<<<<<< HEAD
• XYZ your code
•=======
• ABC also your code
55. Git Checkout
•git checkout hotfix
•Internally, all the above command does is move
HEAD to a different branch and update the
working directory to match. Since this has the
potential to overwrite local changes, Git forces you
to commit or stash any changes in the working
directory that will be lost during the checkout
operation. Unlike git reset, git checkout doesn’t
move any branches around.
58. Git Reset (Cont..)
•--soft – The staged snapshot and working
directory are not altered in any way.
•--mixed – The staged snapshot is updated to
match the specified commit, but the working
directory is not affected. This is the default option.
•--hard – The staged snapshot and the working
directory are both updated to match the specified
commit.
59. Git Revert
•Reverting undoes a commit by creating a new
commit. This is a safe way to undo changes, as it
has no chance of re-writing the commit history.
For example, the following command will figure
out the changes contained in the 2nd to last
commit, create a new commit undoing those
changes, and tack the new commit onto the
existing project.
•git checkout hotfix
•git revert HEAD~2
61. Using these commands
•If a commit has been made somewhere in the
project's history, and you later decide that the
commit is wrong and should not have been done,
then git revert is the tool for the job. It will undo
the changes introduced by the bad commit,
recording the "undo" in the history.
•If you have modified a file in your working tree,
but haven't committed the change, then you can
use git checkout to checkout a fresh-from-
repository copy of the file.
62. More…
•git commit --amend
•git rebase
•git reflog
•*git fetch
The git fetch command imports commits from a
remote repository into your local repo. The
resulting commits are stored as remote branches
instead of the normal local branches that we’ve
been working with. This gives you a chance to
review changes before integrating them into your