Git Workshop
Daniel Laufer on September 15, 2021
Get an overview of Git and GitHub including what they are, their purpose, how they work, how they interact with each other, and much more.
You will learn about essential Git commands and concepts and go through several short demos using them.
Additionally, you will learn how to collaborate with others on a project using Git and GitHub, and learn how to contribute to open-source projects.
All of this combined will allow students to learn an essential skill that will follow them through their career in tech!
Git Bash is a command line interface that allows you to interact with Git, a version control system that tracks changes in your code and lets you collaborate with other developers. Git Bash is based on a popular Unix shell called Bash, and it works on Windows operating systems. With Git Bash, you can create and manage Git repositories, stage and commit your code, push and pull from remote servers, create and merge branches, and much more. In this article, I will give you an introduction to Git Bash and show you how to use some basic commands. ¹²³
المصدر: محادثة مع Bing، 29/9/2023
(1) Git bash: Definition, commands, & getting started | Atlassian. https://www.atlassian.com/git/tutorials/git-bash.
(2) An introduction to Git: what it is, and how to use it - freeCodeCamp.org. https://www.freecodecamp.org/news/what-is-git-and-how-to-use-it-c341b049ae61/.
(3) Introduction to Git Bash: A Beginner's Guide to Using the Command Line .... https://marketsplash.com/tutorials/git/git-bash/.
(4) undefined. https://git-scm.com/book/en/v2/Getting-Started-Installing-Git.
A Beginner's Guide to Git and GitHub, CLI version.
What is Git?
What is Github
Basic commands
Difference between Central and Distributed Version Controlling System
Git Workshop
Daniel Laufer on September 15, 2021
Get an overview of Git and GitHub including what they are, their purpose, how they work, how they interact with each other, and much more.
You will learn about essential Git commands and concepts and go through several short demos using them.
Additionally, you will learn how to collaborate with others on a project using Git and GitHub, and learn how to contribute to open-source projects.
All of this combined will allow students to learn an essential skill that will follow them through their career in tech!
Git Bash is a command line interface that allows you to interact with Git, a version control system that tracks changes in your code and lets you collaborate with other developers. Git Bash is based on a popular Unix shell called Bash, and it works on Windows operating systems. With Git Bash, you can create and manage Git repositories, stage and commit your code, push and pull from remote servers, create and merge branches, and much more. In this article, I will give you an introduction to Git Bash and show you how to use some basic commands. ¹²³
المصدر: محادثة مع Bing، 29/9/2023
(1) Git bash: Definition, commands, & getting started | Atlassian. https://www.atlassian.com/git/tutorials/git-bash.
(2) An introduction to Git: what it is, and how to use it - freeCodeCamp.org. https://www.freecodecamp.org/news/what-is-git-and-how-to-use-it-c341b049ae61/.
(3) Introduction to Git Bash: A Beginner's Guide to Using the Command Line .... https://marketsplash.com/tutorials/git/git-bash/.
(4) undefined. https://git-scm.com/book/en/v2/Getting-Started-Installing-Git.
A Beginner's Guide to Git and GitHub, CLI version.
What is Git?
What is Github
Basic commands
Difference between Central and Distributed Version Controlling System
Advanced Web Development in PHP - Code Versioning and Branching with GitRasan Samarasinghe
ESOFT Metro Campus - Advanced Web Development in PHP - (Module III) Code Versioning and Branching with Git
(Template - Virtusa Corporate)
Contents:
Introduction to Git
What is Version Controlling?
What is Distributed Version Controlling?
Why Use a Version Control System?
Downloading and Installing Git
Git Life Cycle
Init command
Clone Command
Config Command
Add Command
Commit Command
Status Command
Log Command
Diff Command
Revert Command
Reset Command
Clean Command
Commit --amend Command
Rebase Command
Reflog Command
Branch Command
Checkout Command
Merge Command
Remote Command
Fetch Command
Pull Command
Push Command
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 an important part of daily programming (especially if you're working with a team) and is widely used in the software industry. Since there are many various commands you can use, mastering Git takes time. But some commands are used more frequently (some daily). So in this post, I will share and explain the most used Git commands that every developer should know. Note: To understand this PDF, you need to know the basics and advances of Git. https://www.9series.com/
a way to manage files and directories.
track changes over time.
recall previous versions.
source control is subset of VCS.
sharing on multiple computers
Types of vcs:
Local VCS
Centralized VCS
Distributed VCS
Features of git
commands in git
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.
Advanced Web Development in PHP - Code Versioning and Branching with GitRasan Samarasinghe
ESOFT Metro Campus - Advanced Web Development in PHP - (Module III) Code Versioning and Branching with Git
(Template - Virtusa Corporate)
Contents:
Introduction to Git
What is Version Controlling?
What is Distributed Version Controlling?
Why Use a Version Control System?
Downloading and Installing Git
Git Life Cycle
Init command
Clone Command
Config Command
Add Command
Commit Command
Status Command
Log Command
Diff Command
Revert Command
Reset Command
Clean Command
Commit --amend Command
Rebase Command
Reflog Command
Branch Command
Checkout Command
Merge Command
Remote Command
Fetch Command
Pull Command
Push Command
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 an important part of daily programming (especially if you're working with a team) and is widely used in the software industry. Since there are many various commands you can use, mastering Git takes time. But some commands are used more frequently (some daily). So in this post, I will share and explain the most used Git commands that every developer should know. Note: To understand this PDF, you need to know the basics and advances of Git. https://www.9series.com/
a way to manage files and directories.
track changes over time.
recall previous versions.
source control is subset of VCS.
sharing on multiple computers
Types of vcs:
Local VCS
Centralized VCS
Distributed VCS
Features of git
commands in git
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.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
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.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
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
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.
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.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
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
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
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.
1. Git
A distributed version control system
Powerpoint credited to University of PA
And modified by Pepper
5-Apr-23
2. Version control systems
Version control (or revision control, or source control) is all
about managing multiple versions of documents, programs, web
sites, etc.
Almost all “real” projects use some kind of version control
Essential for team projects, but also very useful for individual projects
Some well-known version control systems are CVS, Subversion,
Mercurial, and Git
CVS and Subversion use a “central” repository; users “check out” files,
work on them, and “check them in”
Mercurial and Git treat all repositories as equal
Distributed systems like Mercurial and Git are newer and are
gradually replacing centralized systems like CVS and Subversion
2
3. Why version control?
For working by yourself:
Gives you a “time machine” for going back to earlier versions
Gives you great support for different versions (standalone,
web app, etc.) of the same basic project
For working with others:
Greatly simplifies concurrent work, merging changes
For getting an internship or job:
Any company with a clue uses some kind of version control
Companies without a clue are bad places to work
3
4. Download and install Git
Tutorials
Standard one: http://git-scm.com/downloads
Here’s one from StackExchange:
http://stackoverflow.com/questions/315911/git-for-beginners-the-
definitive-practical-guide#323764
Install Git on your machine from http://git-scm.com/downloads
Accept context menu items
Git access:
Right click from windows explorer
gitBash to enter commands
Current local directory is folder you launched from
Good idea - one folder for your git local access
4
5. Introduce yourself to Git
Start git / gitBash
See your options:
git config -l
Enter these lines (with appropriate changes):
git config --global user.name "John Smith"
git config --global user.email jsmith@seas.upenn.edu
You only need to do this once
If you want to use a different name/email address for a
particular project, you can change it for just that project
cd to the project directory
Use the above commands, but leave out the --global
5
6. Setting options
When you “commit,” git will require you to type in a
commit message
For longer commit messages, you will use an editor
To change the default editor:
git config --global core.editor /usr/bin/vim
You may also want to turn on colors:
git config --global color.ui auto
See your options:
git config -l
6
7. Clone repositories on panther
Our repositories
http://home.adelphi.edu/~pe16132/csc440/repositories.html
Get the files from your repository before starting
Make a local respository as a clone of master
Make a new folder
Right click the folder and choose git bash
Type: git clone
ssh://pepper@panther.adelphi.edu/opt/git/csc480ASpring15.git
Enter your ecampus password
See all the contents of the folder
Windows Explorer: Change folder and search options to show
hidden files, folders and drives
Git Bash (unix) : ls -a to see the .git folder.
7
8. Using Gui to Clone repository
8
• Open git Gui
• Choose Clone Existing Repository
• Source: ssh://pepper@panther.adelphi.edu/opt/git/csc480ASpring15.git
• Target: New folder on your system
• Enter password 3 times
9. GitBash Changing your repositories
Make changes
See what changed
git diff
Stage changes
git add –all (or particular files) note 2 dashes!
git diff –cached (:q! to exit)
Still only in your repository
Put changes back up into repository
Commit your staged changes in your repository
git commit -m "the reason for the change"
Update the respository:
git push origin
9
10. GitGui Managing your Repositories
Rescan to see changes to
stage
Stage changed to say you
want to track those changes
Click left box to unstage
Sign off to start a commit
message text
Commit - Enter reason first
Push the changes up to the
repository
10
11. Viewing and Resetting repository
See what is on the repository
git remote
ls to see files
cd & cd .. to move around folders
cat to see file contents
vi to edit file contents and end with <esc> :wq
Get what is on repository
git pull
If it says to resolve manually, just vi that file and see the head
which is yours
11
13. Recover from failed push
Copy your repository elsewhere first just in case
Use git bash
Git pull to pull down the changes
Files needing merging will have both sets of text :
<<<<<<< HEAD
change once not pushed
=======
change once pushed
>>>>>>> d43e1181ce3d7d0ca45fe0d2ce1a6120def02c37
Head is your local copy version
Add --all ; commit and push again
13
14. Typical workflow
git pull remote_repository
Get changes from a remote repository and merge them into
your own repository
git status
See what Git thinks is going on
Use this frequently!
Work on your files
git add –-all (or just changes)
git commit –m “What I did”
git push
14
15. Helpful gitBash commands
Show staged differences: git diff -- cached
Show status : git status
Show branches: git branch
See history: git log
Checkout a branch: git checkout branch
Fetch so you can look but maybe not take: git fetch
Pull will fetch and merge with what you have: git merge
15
17. Git log pretty
git log --pretty=format:"%h %ad | %s%d [%an]" --graph --
date=short
--pretty="..." defines the output format.
%h is the abbreviated hash of the commit
%d commit decorations (e.g. branch heads or tags)
%ad is the commit date
%s is the comment
%an is the name of the author
--graph tells git to display the commit tree in the form of
an ASCII graph layout
--date=short keeps the date format short and nice
17
18. Good aliases
alias gs='git status '
alias ga='git add '
alias gb='git branch '
alias gc='git commit'
alias gd='git diff'
alias go='git checkout '
alias gk='gitk --all&'
alias gx='gitx --all'
alias got='git '
alias get='git '
18