Soe 411 Lecture Note by Ja Orban
Soe 411 Lecture Note by Ja Orban
LECTURE NOTE ON
COURSE CODE
SOE 411
COURSE TITLE
CREDIT UNITS: 3
By
J. A. ORBAN
AGILE SOFTWARE DEVELOPMENT
Agile is a type of software development methodology that anticipates the need for
flexibility and applies a level of pragmatism to the delivery of the finished product. Agile
software development requires a cultural shift in many companies because it focuses on
the clean delivery of individual pieces or parts of the software and not on the entire
application.
Benefits of Agile include its ability to help teams in an evolving landscape while
maintaining a focus on the efficient delivery of business value. The collaborative culture
facilitated by Agile also improves efficiency throughout the organization as teams work
together and understand their specific roles in the process. Finally, companies using
Agile software development can feel confident that they are releasing a high-quality
product because testing is performed throughout development. This provides the
opportunity to make changes as needed and alert teams to any potential issues.
Agile has largely replaced waterfall as the most popular development methodology in
most companies, but is itself at risk of being eclipsed or consumed by the growing
popularity of DevOps.
The four core values outlined in the Agile Manifesto are as follows:
Individual interactions are more important than processes and tools. People drive
the development process and respond to business needs. They are the most important
part of development and should be valued above processes and tools. If the processes
or tools drive development, then the team will be less likely to respond and adapt to
change and, therefore, less likely to meet customer needs.
• concept
• inception
• iteration/construction
• release
• production
• retirement
The first step, concept, involves the identification of business opportunities in each
potential project as well as an estimation of the time and work that will be required to
complete the project. This information can then be used to prioritize projects and
discern which ones are worth pursuing based on technical and economic feasibility.
During the second step, inception, team members are identified, funding is established
and the initial requirements are discussed with the customer. A timeline should also be
created that outlines the various responsibilities of teams and clearly defines when work
is expected to be completed for each sprint. A sprint is a set period of time during which
specific work has to be completed and made ready for review.
The third step, iteration/construction, is when teams start creating working software
based on requirements and continuous feedback. The Agile software development
cycle relies on iterations -- or single development cycles -- that build upon each other
and lead into the next step of the overall development process until the project is
completed. Each iteration typically lasts between two to four weeks, with a set
completion date. The goal is to have a working product to launch at the end of each
iteration.
Multiple iterations occur throughout the development cycle and they each possess their
own workflow. A typical iteration flow consists of the following:
• defining requirements based on the product backlog, sprint backlog and customer
and stakeholder feedback;
• developing software based on the set requirements;
• conducting QA testing, internal and external training and documentation;
• delivering and integrating the working product into production; and
• gathering customer and stakeholder feedback on the iteration in order to define new
requirements for the next sprint.
The fourth step, release, involves final QA testing, resolution of any remaining defects,
finalization of the system and user documentation and, at the end, release of the final
iteration into production.
After the release, the fifth step, production, focuses on the ongoing support necessary
to maintain the software. The development teams must keep the software running
smoothly while also teaching users exactly how to use it. The production phase
continues until the support has ended or the product is planned for retirement.
The final step, retirement, incorporates all end-of-life activities, such as notifying
customers and final migration. The system release must be removed from production.
This is usually done when a system needs to be replaced by a new release or if the
system becomes outdated, unnecessary or starts to go against the business model.
Throughout the Agile cycle, different features can be added to the product backlog, but
the entire process should consist of repeating each step over and over until every item
in the backlog has been satisfied. This makes the Agile cycle more of a loop than a
linear process. At any time, an enterprise can have multiple projects occurring
simultaneously with iterations that are logged on different product lines and a variety of
internal and external customers providing different business needs.
Types of Agile methodologies
The goal of every Agile methodology is to embrace and adapt to change while
delivering working software as efficiently as possible. However, each method varies in
the way it defines the steps of software development. The most widely used Agile
methods include the following:
• Scrum
• Lean software development
• Extreme programming
• Crystal
• Kanban
• Dynamic systems development method
• Feature-driven development
Scrum is a lightweight Agile framework that can be used by project managers to control
all types of iterative and incremental projects. In Scrum, the product owner creates a
product backlog that allows them to work with their team to identify and prioritize system
functionality. The product backlog is a list of everything that needs to be accomplished
to deliver a successful, working software system -- this includes bug fixes, features and
non-functional requirements. Once the product backlog is defined, no additional
functionality can be added except by the corresponding team.
Once the team and the product owner have established the priorities, cross-functional
teams step in and agree to deliver working increments of software during each sprint --
often within 30 days. After each sprint, the product backlog is reevaluated, analyzed and
reprioritized in order to select a new set of deliverable functions for the next sprint.
Scrum has gained popularity over the years since it is simple, has proven to be
productive and can incorporate the various overarching practices promoted by the other
Agile methods.
Lean software development is another iterative method that places a focus on using
effective value stream mapping to ensure the team delivers value to the customer. It is
flexible and evolving; it does not have rigid guidelines or rules. The Lean method uses
the following primary principles:
• Increasing learning
• Empowering the team
• Fostering integrity
• Removing waste
• Understanding the whole
• Making decisions as late as possible
• Delivering the product as fast as possible
The Lean method relies on fast and reliable feedback between the customers and
programmers in order to provide fast and efficient development workflows. To
accomplish this, it provides individuals and small teams with decision-making authority
instead of relying on a hierarchical flow of control. To eliminate waste, the Lean method
asks users to only select truly valuable features for their system, prioritize these chosen
features and then deliver them in small batches. Lean software development also
encourages automated unit tests to be written simultaneously with the code and
concentrates on ensuring every member of the team is as productive as possible.
Crystal is the most lightweight and adaptable methodology. It focuses on people and
the interactions that occur while working on an Agile project as well as business-
criticality and priority of the system under development. The Crystal method works off
the realization that every project possesses unique characteristics that require a slightly
tailored set of policies, practices and processes. As a result, it is made up of a collection
of Agile process models, such as Crystal Orange, Crystal Clear and Crystal Yellow.
Each model has its own unique characteristics that are driven by different factors,
including project priorities, team size and system criticality.
Like other Agile methodologies, Crystal emphasizes frequent delivery of working
software with high customer involvement, adaptability and the elimination of
bureaucracy and distractions. Its key principles include communication, teamwork and
simplicity.
Kanban uses a highly visual workflow management method that allows teams to
actively manage product creation -- emphasizing continuous delivery -- without creating
more stress in the software development lifecycle (SDLC). It has become popular
among teams also practicing Lean software development.
Kanban uses three basic principles: visualize the workflow; limit the amount of work in
progress; and improve the flow of work. Like the Scrum, the Kanban method is
designed to help teams work more efficiently with each other. It encourages continuous
collaboration and attempts to define the best possible workflow in order to promote an
environment with active and ongoing learning and improvement.
The dynamic systems development method (DSDM) is a response to the need for a
common industry framework for rapid software delivery. The DSDM is based on eight
key principles; failing to abide by any one of the principles introduces risk to successful
completion of the project. The eight principles are as follows:
1. Collaboration
2. On-time delivery
3. Demonstrated control
4. Continuous, clear communication
5. A constant focus on the business need
6. Iterative development
7. Creation in increments from firm foundations
8. Refusal to compromise quality
In the DSDM, rework is built into the process and all changes must be reversible.
System requirements are prioritized using MoSCoW Rules, which ranks priority as
follows:
• M -- must have
• S -- should have
• C -- could have, but not critical
• W -- won't have now, but could have later
It's important in DSDM that not every requirement is considered critical. Each iteration
should include less critical items which can be removed so higher priority requirements
are not impacted.
In the Waterfall era of software development, coders worked alone, with little to no input
before handing the software to testers and then on to production. Bugs, complications
and feature changes either weren't handled well, or were dealt with so late in the
process that projects were seriously delayed or even scrapped.
The idea behind the Agile model, in which everyone -- including the business side --
stayed involved and informed in the development process, represented a profound
change in both company culture and the ability to get better software to market more
quickly.
On the other hand, many would say the biggest disadvantage of Agile is the fact it has
been modified -- some would say diluted -- by many organizations. This phenomenon is
so widespread that the "Agile my way" practitioners are known as "ScrumButs," as in,
"We do Scrum in our organization, but …."
Although Agile opens the lines of communication between developers and the business
side, it's been less successful bringing testing and operations into that mix -- an
omission that may have helped the idea of DevOps gain traction.
Another potential concern about Agile is its lack of emphasis on technology, which can
make it difficult to sell the concept to upper managers who don't understand the role that
culture plays in software development. Furthermore, the necessity of completing sprints
on time can create a stressful work environment for software developers. They may be
forced to work extra hours and stay late in order to meet deadlines.
Operationally, workflows represent the mechanism of getting work done. Take, for
example, the act of finalizing a vendor for a specific project in a company.
Workflows will need to be created for inviting tenders for the project, inspecting the
vendor’s capability and capacity for the task, ensuring financial viability is signed off on
the project, sending invoices post the selection of the vendor, contract finalization, post
assignment follow-ups, as well appropriate documentation.
In many corporate apparatuses world over, workflows aren’t as simple. There exist
multiple ones, each which focus on the completion of a task. These independent tasks
together result in the completion of a bigger organizational objective.
A simple workflow system consists of predefined business rules and designated human
tasks, which results in error-free outcomes.
With the rise in technology and automation, the necessity of workflows to accomplish
complex processes with minimal human intervention has been greater than ever. The
ever-changing business environments required robust mechanisms to achieve
efficiency in business processes, and this is where the Workflow Management
Softwares/Systems arose.
Used when documents hold significant value in the processes of organizations. The flow
of documents through different processes and activities it is used becomes central to
the plans of the business process to improve the company’s efficiency. In this case, the
product of a process on one document at any stage of the process becomes the input to
the next stage. Hence document standardizations and acceptable inputs must be
present to preserve formats.
These often involve tasks and functionalities where the contributions of human beings
are minimal at best. Iterative and sequentially executed repetitive tasks fall under this
purview.
Some of the world's biggest banks rely on successful workflow tools to ensure
transaction reliability.
Operationally, workflows represent the mechanism of getting work done. Take, for
example, the act of finalizing a vendor for a specific project in a company.
Workflows will need to be created for inviting tenders for the project, inspecting the
vendor’s capability and capacity for the task, ensuring financial viability is signed off on
the project, sending invoices post the selection of the vendor, contract finalization, post
assignment follow-ups, as well appropriate documentation.
In many corporate apparatuses world over, workflows aren’t as simple. There exist
multiple ones, each which focus on the completion of a task. These independent tasks
together result in the completion of a bigger organizational objective.
A simple workflow system consists of predefined business rules and designated human
tasks, which results in error-free outcomes.
With the rise in technology and automation, the necessity of workflows to accomplish
complex processes with minimal human intervention has been greater than ever. The
ever-changing business environments required robust mechanisms to achieve
efficiency in business processes, and this is where the Workflow Management
Softwares/Systems arose.
Used when documents hold significant value in the processes of organizations. The flow
of documents through different processes and activities it is used becomes central to
the plans of the business process to improve the company’s efficiency. In this case, the
product of a process on one document at any stage of the process becomes the input to
the next stage. Hence document standardizations and acceptable inputs must be
present to preserve formats.
These often involve tasks and functionalities where the contributions of human beings
are minimal at best. Iterative and sequentially executed repetitive tasks fall under this
purview.
Examples of Industries using the workflow include the food and beverage industry,
companies such as Dominos and Pepsi, while the airline industry does rely on the
workflow for efficient business process handling.
Some of the world's biggest banks rely on successful workflow tools to ensure
transaction reliability.
Access Controls
Just like the name suggests, access controls regulate the interactions individuals in an
organization can have with a selective resource. This becomes most important when
sensitive data and the non-overlapping processes must be kept apart from different
users.
Calendar Management
From the tracking of events per day to scheduling meetings between personnel and not
to forget, hosting reminders, Calendars have become near synonymous with business
efficiency. Hence, an effective Workflow management system will host and accomplish
some basic calendar Management functions.
Compliance Tracking
Following up with all documentation and procedures to ensure no rules and regulations
were broken in the follow-through of the process.
Document Management
The genesis for today’s workflow management systems arose in the necessity of
maintaining thousands of documents online and offline in the corporate world. With the
boom of business and the subsequent necessity of recording thousands of tasks per
day, effective documentation management has been one of the key functionalities that
workflow management systems achieve success in.
Enhanced Communication
Communication is often regarded as the backbone of efficient organizations. Despite
this, miscommunication between departments or teams essentially under the umbrage
of the same organization can single-handedly be the cause for the disruption in
performance. A good workflow management system minimizes the gap in
communication and allows strong collaboration between teams.
Forms Management
An ever-increasing reliance on storing data for different processes and of different types
has led to the necessity of effective forms management software. Through forms,
documentation, and subsequent processing of data becomes a child’s play for the
system, while minimizing human intervention to process them, becomes the norm,
especially when data is stored to the tune of millions of bytes every day in an
organization.
KPI-based Reports
Multiple processes need KPIs to be recorded simultaneously or instantaneously.
Keeping track of all of them together makes productivity egregious. It is here that KPI
indicators, all of them visible on a programmed dashboard, adjustable by the user,
makes workflow management systems a boon to use.
Let's now go through details about one of the most popular workflow management
software - Wrike.
Wrike
Wrike is a cloud-based workflow management software that delivers powerful
automation empowering your teams to collaborate efficiently across multiple
departments and have 360-degree visibility over different projects running within an
organization. It helps companies to improve productivity by establishing a systematic
approach while managing various workflows. It helps your team maximize its
performance, resulting in improved customer experiences and accelerated business
growth.
Key Features
• Provides customizable dashboards, workflows, request forms, and more to equip teams
with the exact solutions they need
• Allows sharing files and shortens approval processes with visual proofing resulting in
enhanced productivity and collaboration within teams
• Eliminates silos between different departments by providing visibility to real-time
information enabling smart and informed decision making
• Enables instilling ethical practices within an organization as it includes security
capabilities that prevent fraudulent and malicious activities
• Includes templates built for specific purposes that help in speeding up some standard
processes like event management, onboarding employees, order fulfillment, and more
• Provides automated insights over workloads that help in better resource management
and achieving required productivity
• Enables easy access to customized reports that help making smarter decisions and
implementing smoother workflows
1. Apache Airflow
With a focus on creating, monitoring, and managing workflows, Apache’s free and open-
source Airflow platform is a go-to workflow management tool. Constituted of Directed
Acyclic Graphs (DAGs), it helps users schedule, program, and automate the flow of
data through nodes.
The pipelines only represent the direction of data movement, while one node’s (task)
output, is usually the input to another node. The acyclic nature of the graph indicates
that data cannot flow back between nodes. The process must be completed or halted
and restarted for the workflow to complete all tasks.
The airflow workflow management platform was built on four important principles, which
also translate to some of its most important features as follows.
The Taverna suite, as it’s better called, is a combination of the Taverna engine, the
Taverna Workbench, and the Taverna Server. These components working together aid
scientists with limited working knowledge of computing and skim on resources to
essentially build complex data workflows (and perform analysis on them) from a variety
of public and private sources, involving distinct fields such as geography, medicine, and
sports analytics.
Features
You can use Trello to organize and prioritize personal and professional life in a fun,
flexible, and rewarding way.
Features
Features
Features
Features
7. Bonita
The Bonita Platform is a workflow tool, and the business process management (BPM)
tool allows enterprises to create and monitor process-based implementations within the
organization. It is a cloud-based, open-source system that is used to achieve efficiency
or digital transformation of business processes.
Features
Git is foundation of many services like GitHub and GitLab, but we can use Git without
using any other Git services. Git can be used privately and publicly.
Git was created by Linus Torvalds in 2005 to develop Linux Kernel. It is also used as
an important distributed version-control tool for the DevOps.
Git is easy to learn, and has fast performance. It is superior to other SCM tools like
Subversion, CVS, Perforce, and ClearCase.
Features of Git
Benefits of Git
A version control application allows us to keep track of all the changes that we make in
the files of our project. Every time we make changes in files of an existing project, we
can push those changes to a repository. Other developers are allowed to pull your
changes from the repository and continue to work with the updates that you added to
the project files.
Why Git?
We have discussed many features and benefits of Git that demonstrate the
undoubtedly Git as the leading version control system. Now, we will discuss some
other points about why should we choose Git.
o Git Integrity
Git is developed to ensure the security and integrity of content being version
controlled. It uses checksum during transit or tampering with the file system to
confirm that information is not lost. Internally it creates a checksum value from
the contents of the file and then verifies it when transmitting or storing data.
o Trendy Version Control System
Git is the most widely used version control system. It has maximum
projects among all the version control systems. Due to its amazing
workflow and features, it is a preferred choice of developers.
o Everything is Local
Almost All operations of Git can be performed locally; this is a significant reason
for the use of Git. We will not have to ensure internet connectivity.
o Collaborate to Public Projects
There are many public projects available on the GitHub. We can collaborate on
those projects and show our creativity to the world. Many developers are
collaborating on public projects. The collaboration allows us to stand with
experienced developers and learn a lot from them; thus, it takes our
programming skills to the next level.
o Impress Recruiters
We can impress recruiters by mentioning the Git and GitHub on our resume.
Send your GitHub profile link to the HR of the organization you want to join.
Show your skills and influence them through your work. It increases the chances
of getting hired.
What is GitHub?
GitHub is a Git repository hosting service. GitHub also facilitates with many of its
features, such as access control and collaboration. It provides a Web-based graphical
interface.
GitHub is an American company. It hosts source code of your project in the form of
different programming languages and keeps track of the various changes made by
programmers.
Features of GitHub
GitHub is a place where programmers and designers work together. They collaborate,
contribute, and fix bugs together. It hosts plenty of open source projects and codes of
various programming languages.
Backward Skip 10sPlay VideoForward Skip 10s
o Collaboration
o Integrated issue and bug tracking
o Graphical representation of branches
o Git repositories hosting
o Project management
o Team management
o Code hosting
o Track and assign tasks
o Conversations
o Wikisc
Benefits of GitHub
GitHub can be separated as the Git and the Hub. GitHub service includes access
controls as well as collaboration features like task management, repository hosting, and
team management.
GIT TERMINOLOGY
Git is a tool that covered vast terminology and jargon, which can often be difficult for
new users, or those who know Git basics but want to become Git masters. So, we need
a little explanation of the terminology behind the tools. Let's have a look at the
commonly used terms.
A branch is a version of the repository that diverges from the main working project. It is
an essential feature available in most modern version control systems. A Git project can
have more than one branch. We can perform many operations on Git branch-like
rename, list, delete, etc.
Checkout
In Git, the term checkout is used for the act of switching between different versions of a
target entity. The git checkout command is used to switch between branches in a
repository.
Cherry-Picking
Cherry-picking in Git is meant to apply some commit from one branch into another
branch. In case you made a mistake and committed a change into the wrong branch,
but do not want to merge the whole branch. You can revert the commit and cherry-pick
it on another branch.
Clone
The git clone is a Git command-line utility. It is used to make a copy of the target
repository or clone it. If I want a local copy of my repository from GitHub, this tool allows
creating a local copy of that repository on your local directory from the repository URL.
Fetch
It is used to fetch branches and tags from one or more other repositories, along with the
objects necessary to complete their histories. It updates the remote-tracking branches.
HEAD
HEAD is the representation of the last commit in the current checkout branch. We can
think of the head like a current branch. When you switch branches with git checkout, the
HEAD revision changes, and points the new branch.
Index
The Git index is a staging area between the working directory and repository. It is used
as the index to build up a set of changes that you want to commit together.
Master
Master is a naming convention for Git branch. It's a default branch of Git. After cloning a
project from a remote server, the resulting local repository contains only a single local
branch. This branch is called a "master" branch. It means that "master" is a repository's
"default" branch.
Merge
Merging is a process to put a forked history back together. The git merge command
facilitates you to take the data created by git branch and integrate them into a single
branch.
Origin
In Git, "origin" is a reference to the remote repository from a project was initially cloned.
More precisely, it is used instead of that original repository URL to make referencing
much easier.
Pull/Pull Request
The term Pull is used to receive data from GitHub. It fetches and merges changes on
the remote server to your working directory. The git pull command is used to make a
Git pull.
Pull requests are a process for a developer to notify team members that they have
completed a feature. Once their feature branch is ready, the developer files a pull
request via their remote server account. Pull request announces all the team members
that they need to review the code and merge it into the master branch.
Push
The push term refers to upload local repository content to a remote repository. Pushing
is an act of transfer commits from your local repository to a remote repository. Pushing
is capable of overwriting changes; caution should be taken when pushing.
Rebase
In Git, the term rebase is referred to as the process of moving or combining a sequence
of commits to a new base commit. Rebasing is very beneficial and visualized the
process in the environment of a feature branching workflow.
From a content perception, rebasing is a technique of changing the base of your branch
from one commit to another.
Remote
In Git, the term remote is concerned with the remote repository. It is a shared repository
that all team members use to exchange their changes. A remote repository is stored on
a code hosting service like an internal server, GitHub, Subversion and more.
In case of a local repository, a remote typically does not provide a file tree of the
project's current state, as an alternative it only consists of the .git versioning data.
Repository
In Git, Repository is like a data structure used by VCS to store metadata for a set of files
and directories. It contains the collection of the file as well as the history of changes
made to those files. Repositories in Git is considered as your project folder. A repository
has all the project-related data. Distinct projects have distinct repositories.
Stashing
Sometimes you want to switch the branches, but you are working on an incomplete part
of your current project. You don't want to make a commit of half-done work. Git stashing
allows you to do so. The git stash command enables you to switch branch without
committing the current branch.
Tag
Tags make a point as a specific point in Git history. It is used to mark a commit stage as
important. We can tag a commit for future reference. Primarily, it is used to mark a
projects initial point like v1.1. There are two types of tags.
1. Light-weighted tag
2. Annotated tag
In Git, the term revert is used to revert some commit. To revert a commit, git
revert command is used. It is an undo type command. However, it is not a traditional
undo alternative.
Git Reset
In Git, the term reset stands for undoing changes. The git reset command is used to
reset the changes. The git reset command has three core forms of invocation. These
forms are as follows.
o Soft
o Mixed
o Hard
Git Ignore
In Git, the term ignore used to specify intentionally untracked files that Git should ignore.
It doesn't affect the Files that already tracked by Git.
Git Diff
Git diff is a command-line utility. It's a multiuse Git command. When it is executed, it
runs a diff function on Git data sources. These data sources can be files, branches,
commits, and more. It is used to show changes between commits, commit, and working
tree, etc.
A Git cheat sheet is a summary of Git quick references. It contains basic Git commands
with quick installation. A cheat sheet or crib sheet is a brief set of notes used for quick
reference. Cheat sheets are so named because the people may use it without no prior
knowledge.
Git Flow
GitFlow is a branching model for Git, developed by Vincent Driessen. It is very well
organized to collaborate and scale the development team. Git flow is a collection of Git
commands. It accomplishes many repository operations with just single commands.
Git Squash
In Git, the term squash is used to squash previous commits into one. Git squash is an
excellent technique to group-specific changes before forwarding them to others. You
can merge several commits into a single commit with the powerful interactive rebase
command.
Git Rm
In Git, the term rm stands for remove. It is used to remove individual files or a collection
of files. The key function of git rm is to remove tracked files from the Git index.
Additionally, it can be used to remove files from both the working directory and staging
index.
Git Fork
A fork is a rough copy of a repository. Forking a repository allows you to freely test and
debug with changes without affecting the original project.
Great use of using forks to propose changes for bug fixes. To resolve an issue for a bug
that you found, you can:
GIT COMMANDS
There are many different ways to use Git. Git supports many command-line tools and
graphical user interfaces. The Git command line is the only place where you can run all
the Git commands.
The following set of commands will help you understand how to use Git via the
command line.
Here is a list of most essential Git commands that are used daily.
PauseNext
Unmute
Current Time 0:03
/
Duration 18:10
Loaded: 3.67%
Â
Fullscreen
This command configures the user. The Git config command is the first and necessary
command used on the Git command line. This command sets the author name and
email address to be used with your commits. Git config is also used in other scenarios.
Syntax
The init command will initialize an empty repository. See the below screenshot.
This command is used to make a copy of a repository from an existing URL. If I want a
local copy of my repository from GitHub, this command allows creating a local copy of
that repository on your local directory from the repository URL.
Syntax
This command is used to add one or more files to staging (Index) area.
Syntax
1. $ git add*
5) Git commit command
Git commit -m
This command changes the head. It records or snapshots the file permanently in the
version history with a message.
Syntax
Git commit -a
This command commits any files added in the repository with git add and also commits
any files you've changed since then.
Syntax
1. $ git commit -a
The status command is used to display the state of the working directory and the
staging area. It allows you to see which changes have been staged, which haven't, and
which files aren?t being tracked by Git. It does not show you any information about the
committed project history. For this, you need to use the git log. It also lists the files that
you've changed and those you still need to add or commit.
Syntax
1. $ git status
7) Git push Command
This command sends the changes made on the master branch, to your remote
repository.
Syntax
Syntax
Pull command is used to receive data from GitHub. It fetches and merges changes on
the remote server to your working directory.
Syntax
Syntax
1. $ git branch
This command is used to merge the specified branch?s history into the current branch.
Syntax
Syntax
1. $ git log
By default, if no argument passed, Git log shows the most recent commits first. We can
limit the number of log entries displayed by passing a number as an option, such as -3
to show only the last three entries.
1. $ git log -3
Git Remote command is used to connect your local repository to the remote server. This
command allows you to create, view, and delete connections to other repositories.
These connections are more like bookmarks rather than direct links into other
repositories. This command doesn't provide real-time access to repositories.