<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Alberto Gianfranco Meleleo</title>
    <description>The latest articles on Forem by Alberto Gianfranco Meleleo (@albertomeleleo).</description>
    <link>https://forem.com/albertomeleleo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1286037%2Fd1b6be74-6edd-4147-b61d-5905e6ba24cb.jpeg</url>
      <title>Forem: Alberto Gianfranco Meleleo</title>
      <link>https://forem.com/albertomeleleo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/albertomeleleo"/>
    <language>en</language>
    <item>
      <title>Prototyping with AI Agents: Rethinking Discovery</title>
      <dc:creator>Alberto Gianfranco Meleleo</dc:creator>
      <pubDate>Fri, 27 Jun 2025 09:20:25 +0000</pubDate>
      <link>https://forem.com/albertomeleleo/prototyping-with-ai-agents-rethinking-discovery-522k</link>
      <guid>https://forem.com/albertomeleleo/prototyping-with-ai-agents-rethinking-discovery-522k</guid>
      <description>&lt;p&gt;In the modern software development flow, we often underestimate the value of the discovery phase. It is at this moment, whether initial, or iterative, that insights are born, vision is ignited, and the first point of contact between team, product, and user is created. It is also the moment when prototypes take on a key role.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Evolution of Prototypes
&lt;/h2&gt;

&lt;p&gt;Prototypes are often generated based on tools such as figma, wireframes or Draft applications in order to interact with the customer, prototypes in which an attempt is made to capture the essence of an idea. But that code, while raw, has a deeper purpose: &lt;strong&gt;to stimulate conversations, to validate insights, to generate alignment&lt;/strong&gt; between business, design and technology. It should not be just a technical exercise, but the creation of a bond, a collaboration with the customer.&lt;/p&gt;

&lt;p&gt;Today, thanks to &lt;strong&gt;AI agent-based tools&lt;/strong&gt;, this kind of prototyping takes a new form that changes the interaction with stakholders. Where before the process was &lt;strong&gt;fragmented and asynchronous&lt;/strong&gt; (show, gather feedback, edit, schedule a new meeting) it now becomes &lt;strong&gt;fluid and instantaneous&lt;/strong&gt;. It is no longer about writing code quickly, or creating wireframes and/or figma but about generating interactive experiences in minutes, even while talking to the stakholder by &lt;strong&gt;putting continuous dialogue&lt;/strong&gt; at the center rather than time-diluted review cycles.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Agents and the New Discovery
&lt;/h2&gt;

&lt;p&gt;With the rise of AI agents, we are seeing a radical transformation of the &lt;strong&gt;discovery&lt;/strong&gt; phase. In my experience, I have experimented with different tools, each with its own peculiarities and specific use cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lovable: From Idea to Prototype in Natural Language
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fubk31fyatmlsdn8vj5cy.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fubk31fyatmlsdn8vj5cy.webp" alt="Image description" width="646" height="380"&gt;&lt;/a&gt;&lt;br&gt;
Lovable stands out for its accessibility. Imagine you need to quickly prototype an app for managing shared expenses in a group of friends. Instead of drawing wireframes, you can simply write, “Create an app where users can add expenses, share them among group members, and see who owes what to whom.”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe384c1mp8j4faaa6n3z8.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe384c1mp8j4faaa6n3z8.webp" alt="Image description" width="646" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F410ftp8crx8pgawsafu1.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F410ftp8crx8pgawsafu1.webp" alt="Image description" width="642" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In just a few minutes, Lovable generates a working interface complete with an expense entry form, participant list, and sales dashboard. The added value? You can immediately share the link with the customer and gather concrete feedback.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I like it, but I wish the owes were more visible&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;instantly becomes a new iteration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffpteuw8jttgs7iytccrr.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffpteuw8jttgs7iytccrr.webp" alt="Image description" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;bolt.new: Transparency for Developers&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcpj2dotcev0xyzyy3dvj.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcpj2dotcev0xyzyy3dvj.webp" alt="Image description" width="582" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;bolt.new&lt;/strong&gt; takes a different approach, constantly showing the generated code. When I had to prototype a reservation system for a coworking facility, I appreciated how each change was translated into specific commands. By typing “Add a calendar with available time slots,” I could immediately see the generated React component and figure out how to integrate it later into the main project.&lt;/p&gt;

&lt;p&gt;The choice between React, Vue, Svelte or even React Native for mobile allows you to prototype directly into the target technology, reducing the gap between prototype and final.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41iyc7vydrjbtm0ky0la.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41iyc7vydrjbtm0ky0la.webp" alt="Image description" width="784" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faj24sq15h6s2r2lrjmok.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faj24sq15h6s2r2lrjmok.webp" alt="Image description" width="780" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;From Prototype to Insight&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;These tools are &lt;strong&gt;redefining Discovery&lt;/strong&gt; because they turn every conversation into an opportunity for prototyping. No longer “Imagine if…” but “See what happens if….” They lower technical barriers, speed up feedback loops, and make it possible to prototype with the customer, not just for the customer.&lt;/p&gt;

&lt;p&gt;The real revolution is not in the speed of generation, but in the ability to &lt;strong&gt;iterate with the customer&lt;/strong&gt;, to see his or her reactions in real time on something tangible and working, to turn every “though” and every “if instead” into a new version of the prototype within minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Prototype for Everyone
&lt;/h2&gt;

&lt;p&gt;Thanks to AI agents, teams today can quickly build exploratory versions of the product to show to stakeholders, test micro-functionality or &lt;strong&gt;simulate real-world user experiences&lt;/strong&gt; in a matter of hours. These are no longer just mockups, but interactive &lt;strong&gt;prototypes with high emotional fidelity&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Beating Heart of Collaboration
&lt;/h2&gt;

&lt;p&gt;In this evolution I see the essence of the **Agile Manifesto **again. From AI-generated prototypes emerge conversations, fueling ongoing dialogue between teams and stakeholders, turning any feedback into an opportunity for immediate iteration.&lt;/p&gt;

&lt;p&gt;Even if incomplete, even if crude, these digital artifacts generate tangible and immediate value: they allow people to &lt;strong&gt;touch an idea&lt;/strong&gt;, to experience it by giving value to the dominance of “working software” over documentation.&lt;/p&gt;

&lt;p&gt;It is in “collaboration with the customer” that AI agents show their real revolution. It is no longer about presenting a predefined solution and negotiating its details, but &lt;strong&gt;co-creating in real time&lt;/strong&gt;, building the experience together while discussing it. The customer becomes an active part of the creative process, no longer just the end recipient.&lt;/p&gt;

&lt;p&gt;And when change becomes inevitable, as is often the case in complex projects, the ability to “respond to change” translates into how quickly an AI prototype can adapt, evolve, reinvent itself. What once required weeks of reprogramming can now be changed in a matter of hours, allowing teams to embrace uncertainty as a source of opportunity rather than an obstacle. Having a prototype aligned before moving to the real implementation phase within an iteration helps anticipate change.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkx9ale8uchm9505vyzce.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkx9ale8uchm9505vyzce.webp" alt="Image description" width="800" height="811"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Toward Continuous Discovery
&lt;/h2&gt;

&lt;p&gt;AI agents are democratizing prototyping. Discovery is no longer an early and isolated phase, but a &lt;strong&gt;continuous and distributed process&lt;/strong&gt;. It is no longer the exclusive task of the UX team, but a shared practice among designers, developers, product managers, and stakeholders.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Prototyping with AI agents means &lt;strong&gt;building to understand, creating to validate, exploring to align&lt;/strong&gt;.&lt;br&gt;
In a world where change is the norm and solutions are always temporary, the ability to &lt;strong&gt;prototype with speed, intelligence, and authenticity&lt;/strong&gt; is what separates learning teams from those just trying to keep up.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>prototype</category>
      <category>discovery</category>
      <category>agile</category>
    </item>
    <item>
      <title>GIT what’s behind your usual operations</title>
      <dc:creator>Alberto Gianfranco Meleleo</dc:creator>
      <pubDate>Sun, 25 Feb 2024 18:47:51 +0000</pubDate>
      <link>https://forem.com/albertomeleleo/git-whats-behind-your-usual-operations-4468</link>
      <guid>https://forem.com/albertomeleleo/git-whats-behind-your-usual-operations-4468</guid>
      <description>&lt;p&gt;In my career as a developer and beyond, I have been able to see how much a guy approaching this world tends to focus his energy on learning Frameworks that will make him productive quickly. This approach has a big problem, it leads to neglecting the basics, both of programming and tools.&lt;/p&gt;

&lt;p&gt;For this reason, I have recently set myself the goal of filling these gaps.&lt;/p&gt;

&lt;p&gt;The first step was to "tell about" GIT starting from the common use of it. Often when asked "Do you know GIT?" we get a similar answer "Yes, I use it." My opinion is that using something is not the same as knowing it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl265rkd2drgra5i4qvtk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl265rkd2drgra5i4qvtk.png" alt="Image description" width="800" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remote and Local Repository&lt;/strong&gt;&lt;br&gt;
first of all we need to undestand our environment structure. When we work with GIT we have a distributed code. The code is on a Remote location and to develop we need to obtain assets present on it. To do this we can proceed cloning the remote repository to our local environment.&lt;br&gt;
When we do this using che simple command "clone" GIT structured our environment creating three different, foundamental, elements.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working directory : where our working files are located.&lt;/li&gt;
&lt;li&gt;Local index (staging area): where Git tracks and saves changes.&lt;/li&gt;
&lt;li&gt;Local repository (.git dir): s the area that contains all of our commits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Another importat element is:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9tk7pe5ml6yel7nia7i5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9tk7pe5ml6yel7nia7i5.png" alt="Image description" width="800" height="689"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stash:is the area where Git stores changes that we don't want to commit and push, in short, set aside.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Clone&lt;/strong&gt;&lt;br&gt;
the first step to obtain the data present on a remote repository is to execute che clone command.&lt;br&gt;
Basically you can run the command defining remote repository&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone [repository url]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;in this case git prepare your environment downloading the default branch repository (usualy main) in the actual directory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi3r29xl9u2rrouojl5vj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi3r29xl9u2rrouojl5vj.png" alt="Image description" width="800" height="677"&gt;&lt;/a&gt;&lt;br&gt;
you can also use a lot of options to clone a different branch, to stored files in a different directory, and so on. You can find all options in the ufficial git documentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://git-scm.com/docs/git-clone"&gt;https://git-scm.com/docs/git-clone&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Branch&lt;/strong&gt;&lt;br&gt;
Often, during development, it is necessary to create a local branch based on the current control branch.&lt;br&gt;
To do this, you can use the "&lt;em&gt;branch&lt;/em&gt;" command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch feature/myFeature develop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://git-scm.com/docs/git-branch"&gt;https://git-scm.com/docs/git-branch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzf99na8edtg4j67raqag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzf99na8edtg4j67raqag.png" alt="Image description" width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add and Commit&lt;/strong&gt;&lt;br&gt;
When the developer creates or modifies some files, the data must be sent to the remote repository. To do this, the developer must first add them to the stage (local index) and then to the local &lt;em&gt;repository&lt;/em&gt;.&lt;br&gt;
The relative commands are:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add [filename]
git commit -m "[commit message]"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if the dev creates a new file he has to use the "&lt;em&gt;add&lt;/em&gt;" command to add the file in the stage, instead, when he modifies or deletes a file, the change is applied directly in the &lt;em&gt;stage&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://git-scm.com/docs/git-add"&gt;https://git-scm.com/docs/git-add&lt;/a&gt;&lt;br&gt;
&lt;a href="https://git-scm.com/docs/git-commit"&gt;https://git-scm.com/docs/git-commit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhl31ug55q8eaosvi479.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbhl31ug55q8eaosvi479.png" alt="Image description" width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Push&lt;/strong&gt;&lt;br&gt;
After committing, the developer must send the changes to the remote repository so that the changes are accessible to other team members. The specific command is "&lt;em&gt;push&lt;/em&gt;".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push &amp;lt;remote&amp;gt;
git push origin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://git-scm.com/docs/git-push"&gt;https://git-scm.com/docs/git-push&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ldup0yepdrnfg5d14f4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ldup0yepdrnfg5d14f4.png" alt="Image description" width="800" height="673"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fetch&lt;/strong&gt;&lt;br&gt;
when other team member push modification, the developer can be need to see this infirmation without update it in his working directory. The command to do this is "&lt;em&gt;fatch&lt;/em&gt;". It update only the Local Repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git fetch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://git-scm.com/docs/git-fetch"&gt;https://git-scm.com/docs/git-fetch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9qmc4mtvldzn3k5qxwy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg9qmc4mtvldzn3k5qxwy.png" alt="Image description" width="800" height="668"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pull&lt;/strong&gt;&lt;br&gt;
After fetch, the developer can be update also the working directory, and the working branch, to use the new code. Simply he can run "&lt;em&gt;pull&lt;/em&gt;". This command retrieve the data from the remote repository and store it in the working directory (and also update the local repository as fetch do)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxcc1jtrj2nwd7ylkfw0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxcc1jtrj2nwd7ylkfw0.png" alt="Image description" width="800" height="611"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stash&lt;/strong&gt;&lt;br&gt;
When you need to update the code in the working directory but have some uncommitted changes, you can preserve the code by moving it to the stash area. After the pull, you can retrieve the code and apply it more recently in the working directory.&lt;br&gt;
Both actions are performed by the "&lt;em&gt;stash&lt;/em&gt;" command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash save "my_stash_name"
git stash pop
git stash apply
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;apply command, saved stash overwrites files in the current working tree but leaves the stash history alone.&lt;/li&gt;
&lt;li&gt;pop command restores files but then deletes the applied stash.
&lt;a href="https://git-scm.com/docs/git-stash"&gt;https://git-scm.com/docs/git-stash&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwplq008d8fju0bt2jme8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwplq008d8fju0bt2jme8.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope this article is helpful in clarifying the structure of GIT&lt;/p&gt;

</description>
      <category>git</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
