<?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>DEV Community: gdahboy</title>
    <description>The latest articles on DEV Community by gdahboy (@gdahboy).</description>
    <link>https://dev.to/gdahboy</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%2F97752%2F3cce795e-3d06-4f55-b9bf-45fbec908db6.jpeg</url>
      <title>DEV Community: gdahboy</title>
      <link>https://dev.to/gdahboy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gdahboy"/>
    <language>en</language>
    <item>
      <title>Love and Coding for a better hope</title>
      <dc:creator>gdahboy</dc:creator>
      <pubDate>Sun, 08 Mar 2020 09:25:04 +0000</pubDate>
      <link>https://dev.to/gdahboy/love-and-coding-for-a-better-hope-1o5j</link>
      <guid>https://dev.to/gdahboy/love-and-coding-for-a-better-hope-1o5j</guid>
      <description>&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%2Fi%2Fwn1v2k0a5lokm0toj6ac.jpeg" 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%2Fi%2Fwn1v2k0a5lokm0toj6ac.jpeg" alt="Alt Text" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;A brief introduction &lt;/h1&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/26mkhMFIPsXAN6tyM/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/26mkhMFIPsXAN6tyM/giphy.gif" alt="" width="462" height="276"&gt;&lt;/a&gt;&lt;br&gt;
we were young studying in a small town everybody has no goal in life except having car , a great-simple job with a lot of money and 2h of work.i was a cool guy fond of tech coding , i remember the first time i start learning  androidStudio for 1 pocket of cigarettes ... it was fun.in this period of time she was lonely, hopeless, no goal in life with a lot of depression feelings and many personal matter that it may lead anyone to suicided. &lt;br&gt;
&lt;a href="https://i.giphy.com/media/y0u3NVgUslwg8/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/y0u3NVgUslwg8/giphy.gif" alt="" width="500" height="281"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h1&gt; My  Women who hate Code &lt;/h1&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/3oEjHECc1GftirnHZm/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3oEjHECc1GftirnHZm/giphy.gif" alt="" width="640" height="480"&gt;&lt;/a&gt;&lt;br&gt;
for attraction things, i start impressing my women with code and trying to convince her that coding is a save for life. it was a real disaster she even start to hate me and it stuff. and an advice for you :&lt;br&gt;
Never Ever Force Her to It &lt;/p&gt;

&lt;h1&gt; Things Going On &lt;/h1&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/14msC297sFRrc4/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/14msC297sFRrc4/giphy.gif" alt="" width="420" height="379"&gt;&lt;/a&gt;&lt;br&gt;
after a year, we have graduated from high school and of course i have chosen an it-College and the Best one in the Country ❤️ESPRIT❤️ .Although i was convinced that she could use her intelligence in some other field, i was surprised that she took the same decision and chooses the same college. &lt;/p&gt;

&lt;h1&gt; The Success Story Begin &lt;/h1&gt;

&lt;p&gt;From a bad start with a depressing feeling to being saved by coding.The women i love begin not only to learn coding but to love it and making use of every second of her life to a new challenge. I was supper happy things were great , we have lunch together talking about new code , new challenge , carrier stuff working in groups in pair ... things i haven't even dreamed about my entire life. Your crush is a coder is another level of life happiness. &lt;br&gt;
&lt;a href="https://i.giphy.com/media/xNBcChLQt7s9a/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/xNBcChLQt7s9a/giphy.gif" alt="" width="180" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt; The Happy End  &lt;/h1&gt;

&lt;p&gt;After 6 years, with a lot of feelings: Love, Friendship... My women has even beaten me in a lot of challenges. And i think she is becoming a good rival to me that deserves my proposal for weddings 👰 .&lt;br&gt;&lt;br&gt;
&lt;a href="https://i.giphy.com/media/pSjYXneALPBLO/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/pSjYXneALPBLO/giphy.gif" alt="Alt Image" width="500" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>wecoded</category>
      <category>productivity</category>
      <category>startup</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Git for begginers</title>
      <dc:creator>gdahboy</dc:creator>
      <pubDate>Sat, 08 Feb 2020 16:27:38 +0000</pubDate>
      <link>https://dev.to/gdahboy/git-for-begginers-3hd7</link>
      <guid>https://dev.to/gdahboy/git-for-begginers-3hd7</guid>
      <description>&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;p&gt;Introduction&lt;br&gt;
 Version Controle System&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;benifit&lt;/li&gt;
&lt;li&gt;Centralized VCS&lt;/li&gt;
&lt;li&gt;Distributed VCS&lt;/li&gt;
&lt;li&gt;comparison between Git and SVN&lt;/li&gt;
&lt;li&gt;Git&lt;/li&gt;
&lt;li&gt;Commit&lt;/li&gt;
&lt;li&gt;Branch&lt;/li&gt;
&lt;li&gt;let's get started&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Introduction&lt;/h1&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%2Fe11k8bo1wfbl5o3u5bzv.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%2Fe11k8bo1wfbl5o3u5bzv.png" width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
in this post you will learn a Version Control System called git . you will be able also to distingue the difference between centralized vcs and distributed vcs . and mostly be able to use git in your individual  project  , group project or community project . &lt;br&gt;
&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Version Controle System&lt;/h1&gt;

&lt;p&gt;Version control systems are a category of software tools that help  you change  to source code over time. this  software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can &lt;strong&gt;&lt;em&gt;turn back the clock&lt;/em&gt;&lt;/strong&gt; and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members. so the main benifit of using these softwares are : &lt;br&gt;
&lt;a&gt;&lt;/a&gt;&lt;br&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%2Fpsygdn8c0an218eegupj.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%2Fpsygdn8c0an218eegupj.png" width="800" height="400"&gt;&lt;/a&gt;&lt;br&gt;
    &lt;/p&gt;
&lt;h3&gt;benifit&lt;/h3&gt;
&lt;br&gt;
        *turn back the clock whatever you want &lt;br&gt;
        *keeps track of everything &lt;br&gt;
        *facility in recreating things and evolute &lt;br&gt;
&lt;a&gt;&lt;/a&gt;&lt;br&gt;
    &lt;h3&gt;Centralized VCS&lt;/h3&gt;
&lt;br&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%2Fmuwq2zsu2kp76jx8by7j.jpg" width="800" height="800"&gt;&lt;br&gt;
A centralized version control system works on a client-server model. There is a single, (centralized)master copy of the code base, and pieces of the code that are being worked on are typically locked, (or “checked out”) so that only one developer is allowed to work on that part of the code at any one time. Access to the code base and the locking is controlled by the server. When the developer checks their code back in, the lock is released so it’s available for others to check out. Exemple  : &lt;br&gt;
&lt;div class="ltag__tag ltag__tag__id__12495"&gt;
    &lt;div class="ltag__tag__content"&gt;
      &lt;h2&gt;#&lt;a href="https://dev.to/t/svn" class="ltag__tag__link"&gt;svn&lt;/a&gt; Follow
&lt;/h2&gt;
      &lt;div class="ltag__tag__summary"&gt;
        
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;a&gt;&lt;/a&gt;&lt;br&gt;
    &lt;h3&gt;distributed vcs&lt;/h3&gt;
&lt;br&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%2Fvyiy4joysknbpxkppcn0.jpg" width="309" height="163"&gt;&lt;br&gt;
The whole approach of central VCS is reversed and each collaborator will have the complete repository on his local machine i.e. the complete revision history, all the branches, tags, commit information is present on the local machine. We do not have a notion of a central server, but we can configure any repository to be a central repository to treat as a source of truth . Exemple &lt;br&gt;
&lt;div class="ltag__tag ltag__tag__id__29"&gt;
    &lt;div class="ltag__tag__content"&gt;
      &lt;h2&gt;#&lt;a href="https://dev.to/t/git" class="ltag__tag__link"&gt;git&lt;/a&gt; Follow
&lt;/h2&gt;
      &lt;div class="ltag__tag__summary"&gt;
        Software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development.
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
 &lt;br&gt;
&lt;a&gt;&lt;/a&gt;&lt;br&gt;
    &lt;h3&gt;comparison between Git and SVN&lt;/h3&gt;
&lt;br&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%2Fzh900jrdb89en0ie29gp.png" width="308" height="164"&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;SVN&lt;/th&gt;
&lt;th&gt;GIT&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Version management&lt;/td&gt;
&lt;td&gt;Central&lt;/td&gt;
&lt;td&gt;Distributed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Repository&lt;/td&gt;
&lt;td&gt;A central repository in which working copies are generated&lt;/td&gt;
&lt;td&gt;Locally available repository copies in which files and documents can be worked on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Change history&lt;/td&gt;
&lt;td&gt;Only complete in the repository. Working copies only contain the newest version&lt;/td&gt;
&lt;td&gt;Repository and working copies contain the complete history&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Network connection&lt;/td&gt;
&lt;td&gt;Needed for access&lt;/td&gt;
&lt;td&gt;Only necessary for synchronization&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;br&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%2Fjev8aykkdh1cxtbj20lv.jpg" 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%2Fjev8aykkdh1cxtbj20lv.jpg" width="309" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;Git&lt;/h1&gt;

&lt;p&gt;Now for the main Topic Git !!! as i mentiond eraly git is a timemachine for our code. we can go back to any moment of life of our programme at anytime . and that's thanks to Commit . &lt;br&gt;
&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Commit&lt;/h2&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%2Fq060a87p6fyambndc17v.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%2Fq060a87p6fyambndc17v.png" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
it represent a life-moment in code , that's why i advice all of you to commit every important add ( for examaple : function , methode , class , test ... ) . &lt;br&gt;
it has a unique id , date , author name and email included and none of this information can be changed . &lt;br&gt;
&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Branch&lt;/h2&gt;

&lt;p&gt;branches can be represented by team member (every team member have it owns branch ) or by code version (we can have in the same project , 2 branches and every branch represent different logic and code ) &lt;br&gt;
&lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;let's get started &lt;/h1&gt;

&lt;p&gt;1.Config &lt;br&gt;
now let's jump to our terminal (OS X , Linux  . Windows users need to download &lt;a href="https://github.com/git-for-windows/git/releases/download/v2.25.0.windows.1/Git-2.25.0-32-bit.exe" rel="noopener noreferrer"&gt;git bash&lt;/a&gt;) make sure git is installed by&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git &lt;span class="nt"&gt;--version&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then configure your email and username (change your username and email )&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name  Gdahboy 
git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email abderrahim.gdah@esprit.tn 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2.first commit &lt;br&gt;
now jump to your code repository and type :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git init 
&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%2Fz1rt3kuho84kc4fyimnj.jpg" 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%2Fz1rt3kuho84kc4fyimnj.jpg" width="343" height="601"&gt;&lt;/a&gt;&lt;br&gt;
now we will have 3 repo : your working directory (represented in blue in image ) , Staging area (brown) , Local respository (green) they are all logical Repository of course . indeed they represent the lifecycle of working with git. every file exists in Blue , if you add the file you tell git that you want to keep tracking the file , so every modification will be saved in brown and if you commit that change this modification will remain forever and you could get it back whenever you want , because it will be saved in green .  Purple (purple repository ) represent github , gitlab ... where all the folder will be saved . &lt;br&gt;
enough talk , let's commit something !!! &lt;br&gt;
sorry , i need to remeber you first we need to add file in order to commit&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git add file.c file.txt ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and finally !!!!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"first commit"&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;so far , everything is great . but how could we know if a file is addes or not or if git is tracking the changes that we want , it is even easier than we think&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git status 
&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%2F3gnmxrujo7euwzcyue2w.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%2F3gnmxrujo7euwzcyue2w.png" width="729" height="328"&gt;&lt;/a&gt;&lt;br&gt;
again one more time, even if we add a file to stage area (brown repo) and we commit the file, every change that come after the commit , before to commit the change again you need to add the file first !!! &lt;br&gt;
3.display all commit&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or for less information&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;--pretty&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;one 
&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%2F3in2gniayiwel7yqbwho.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%2F3in2gniayiwel7yqbwho.png" width="800" height="357"&gt;&lt;/a&gt;&lt;br&gt;
4.back in time !! &lt;br&gt;
now if we want to go back in time in our code we can do&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git revert c7aaab7e8efdb750da70a535fb393d1329173bf5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(c7aaab7e...) of course this is the id of random commit you need to change that with the id of commit you like (you can get the id from git log ) &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;let's build a branch 
so, what if we go back in code and we find something different and you have 2 idea . so you can create branch from old commit that inheret all the code from that commit .
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git branch NameOfBranch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;navigate between branch
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git checkout NameOfBranch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;submit your code to github
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git push origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Conclusion &lt;br&gt;
so to resume, we need to add the file to keep track of it, then commit it, new idea we will have new branch of course git have a lot more feature, we didn't even cover 10% of it's features (that we will do next article ). finally i find this on web, i really like it. it will help you a lot and will introduce for you many new concepts please don't hesitate to text me anytime . &lt;br&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%2F4urtjs54jz7wml3od24u.jpg" 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%2F4urtjs54jz7wml3od24u.jpg" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Symfony 4 is the new Boss in PHP Framework </title>
      <dc:creator>gdahboy</dc:creator>
      <pubDate>Sun, 06 Oct 2019 11:13:05 +0000</pubDate>
      <link>https://dev.to/gdahboy/symfony-4-is-the-new-boss-in-php-framework-43dg</link>
      <guid>https://dev.to/gdahboy/symfony-4-is-the-new-boss-in-php-framework-43dg</guid>
      <description>&lt;h2&gt;
  
  
  Table Of Contents
&lt;/h2&gt;

&lt;p&gt;*Introduction&lt;br&gt;
 *Component&lt;br&gt;
 *Form&lt;br&gt;
 *Translation&lt;br&gt;
 *Bundle&lt;br&gt;
 *Doctrine&lt;br&gt;
 *Annotations&lt;br&gt;
 *Migrations&lt;br&gt;
 *Services&lt;br&gt;
 *Logger&lt;br&gt;
 *Performance&lt;br&gt;
 *conclusion&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt; Introduction  &lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Figm.univ-mlv.fr%2F~dr%2FXPOSE2014%2FSymfony%2Farchitecture.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Figm.univ-mlv.fr%2F~dr%2FXPOSE2014%2FSymfony%2Farchitecture.png" alt="alt image"&gt;&lt;/a&gt;&lt;br&gt;
Symfony is a full-stack  web framework, built with a lot of reusable set of standalone  PHP components that solve common web development problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Component &lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcodereviewvideos.com%2Fblog%2Fwp-content%2Fuploads%2F2017%2F02%2Fgetting-started-symfony-workflow-component.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcodereviewvideos.com%2Fblog%2Fwp-content%2Fuploads%2F2017%2F02%2Fgetting-started-symfony-workflow-component.jpg" alt="alt text image"&gt;&lt;/a&gt;&lt;br&gt;
Component they are the core of the framework, they are libraries  that contains a lot of useful reusable code like &lt;br&gt;
-Form&lt;br&gt;
-Finder&lt;br&gt;
-Filesystem&lt;br&gt;
-Asset&lt;br&gt;
-Mailer&lt;br&gt;
-Routing&lt;br&gt;
-EventDispatcher&lt;br&gt;
-Translation&lt;br&gt;
let's take some of them as example &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;From&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsymfony.com%2Flegacy%2Fimages%2Fjobeet%2F1_4%2F10%2Fform_flow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsymfony.com%2Flegacy%2Fimages%2Fjobeet%2F1_4%2F10%2Fform_flow.png" alt="alt text of image"&gt;&lt;/a&gt;&lt;br&gt;
the form component is a very useful tool, the general idea behind is to create an object that represents a form in that object you can specify every detail related to form in front-end {design, behavior...} and backend {field, entity, form relation ... } &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Translation&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.uvdesk.com%2Fwp-content%2Fuploads%2F2017%2F07%2Fblog-translation-in-symfony.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.uvdesk.com%2Fwp-content%2Fuploads%2F2017%2F07%2Fblog-translation-in-symfony.png"&gt;&lt;/a&gt;&lt;br&gt;
this component is really useful you can use it in order to internationalize your application. instead of rewriting much text, you can create some sort of Dictionary. So your Application will be smart to detect when and what language to be used every Request. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Bundle&lt;/h1&gt; 

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fwww.galitein.com%2Fga-content%2Fuploads%2F2017%2F12%2Fsymfony2-distributions.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fwww.galitein.com%2Fga-content%2Fuploads%2F2017%2F12%2Fsymfony2-distributions.jpg" alt="alt"&gt;&lt;/a&gt;&lt;br&gt;
Bundles are a great way that Symfony Developer's use to write reusable code. let's take an example , You are creating an E-commerce Web application . in this type of Application there's a lot fo common aspect like : Facture , Product  , Product-Basket , Product-Categories , Client , Coupons , third party library of payement 💰 💴  💵 and a lot more .  you will need this entity each time + integration of some of libraries . Bundles has giving us the ultimate Solutions . we create an e-commerce Bundle and every time we have the e-commerce we can include it with it's entity , Repository , Interfaces that will be automatically integrated to the new template thanks to Twig &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Doctrine&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsymfony.com%2Fdoc%2F2.0%2F_images%2Fdoctrine_image_3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsymfony.com%2Fdoc%2F2.0%2F_images%2Fdoctrine_image_3.png" alt="alt text of image"&gt;&lt;/a&gt;&lt;br&gt;
Symfony doesn't have it's own object mapping library . it used Doctrine Library , which used by many PHP frameworks like laravel  and  zend.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Annotations&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdab1nmslvvntp.cloudfront.net%2Fwp-content%2Fuploads%2F2016%2F06%2F14692642771466426077download.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdab1nmslvvntp.cloudfront.net%2Fwp-content%2Fuploads%2F2016%2F06%2F14692642771466426077download.png" alt="alt image "&gt;&lt;/a&gt;&lt;br&gt;
Annotations are a great way to describe your data into php classes , you can specify every attribute as table column in your database . you can also add some parameters to the field like required , unique and other constraint related to size , type , range and you can even create your own parameters . this is only the start , through annotations you can represent entity relationships and lot more !!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Migrations&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi1.wp.com%2Fopensourceforu.com%2Fwp-content%2Fuploads%2F2019%2F07%2FData-Base-Migration.jpg%3Ffit%3D900%252C741%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi1.wp.com%2Fopensourceforu.com%2Fwp-content%2Fuploads%2F2019%2F07%2FData-Base-Migration.jpg%3Ffit%3D900%252C741%26ssl%3D1" alt="alt text image "&gt;&lt;/a&gt;&lt;br&gt;
migrations is very similar to VCS , every time you make an update to your data structure you create a migrations (in git language we call it 'commit') and you can migrate throw migrations using version that stored in your database . it's really a cool 😎 thing i used it a lot !!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Services&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fanjanasilva.com%2Fwp-content%2Fuploads%2F2014%2F05%2F4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fanjanasilva.com%2Fwp-content%2Fuploads%2F2014%2F05%2F4.png" alt="alt of image"&gt;&lt;/a&gt;&lt;br&gt;
we have covered a lot yet , but we have maybe reach only 5% of Symfony. So how can this framework manage all this library 📚 together. How can he manage to initialize a lot of classes without being worried about performance? Well through Services this is possible by initializing core functions once in all the platform and re-use this instance every time. Let's s an example of Mail Component  Service . &lt;br&gt;
So there's an object called Container that already contains many services . to make things more simple , let's say that services are some instances of class library 📚 . Implementing Services is really easy you can do that through controller or in services configurations in services.yaml . Once i have used Services to automatically logout every user after a 30min of an active session  i created a class with 4 arguments in it's constructor that give the functionality of ending user's session . then i have add the class configuration in services.yaml file with all it's 4 argument .So symfony will automatically initiate the class and use it automatically every time he need it . Cool 😎 isn't it ? &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Logger&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsymfony.com%2Fdoc%2Fcurrent%2F_images%2Fweb-interface.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsymfony.com%2Fdoc%2Fcurrent%2F_images%2Fweb-interface.png" alt="alt image"&gt;&lt;/a&gt;&lt;br&gt;
Logger is a very cool part of symfony. it gives us a great tool to check for session , cockies , routes , sql requete , performance , reponse time ... and every details you would ask for . so go to your configuration files active the dev mode and here you go , you got your interface ready . &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;Performance&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.cloudways.com%2Fblog%2Fwp-content%2Fuploads%2F50-1000.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.cloudways.com%2Fblog%2Fwp-content%2Fuploads%2F50-1000.png" alt="alt image"&gt;&lt;/a&gt;&lt;br&gt;
one of the biggest concern when we care about before we start using any language or framework is performance . PHP is one of the greatest scripting language in web development , but to be honest is not that great if we look &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;h1&gt;conclusion&lt;/h1&gt;

&lt;p&gt;thank you for reading my article . i really recomand Symfony for complex project or  a group project . it can be hard at the begging but you will find very easy when you understand the core concept of it . &lt;/p&gt;

</description>
      <category>symfony</category>
      <category>php</category>
      <category>composer</category>
      <category>doctrine</category>
    </item>
  </channel>
</rss>
