<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Christopher Arsenault on Medium]]></title>
        <description><![CDATA[Stories by Christopher Arsenault on Medium]]></description>
        <link>https://medium.com/@christopher.arsenault82?source=rss-719e40da2b34------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*5tlBh9cQWJbgHeYlyDnpnA.jpeg</url>
            <title>Stories by Christopher Arsenault on Medium</title>
            <link>https://medium.com/@christopher.arsenault82?source=rss-719e40da2b34------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 19:26:12 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@christopher.arsenault82/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Making Your Code Editor Feel Like Home — Customizing VS Code]]></title>
            <link>https://medium.datadriveninvestor.com/making-your-code-editor-feel-like-home-customizing-vs-code-b858d4938cb?source=rss-719e40da2b34------2</link>
            <guid isPermaLink="false">https://medium.com/p/b858d4938cb</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[visual-studio-code]]></category>
            <category><![CDATA[code-editor]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[bootcamp]]></category>
            <dc:creator><![CDATA[Christopher Arsenault]]></dc:creator>
            <pubDate>Tue, 11 Sep 2018 22:09:18 GMT</pubDate>
            <atom:updated>2018-09-11T22:09:18.184Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/512/1*_T_tWFGY29J6MEKek1vBaw.png" /><figcaption>Visual Studio Code</figcaption></figure><p>As developers / coders, we spend a lot of time in our editor of choice, heck, we practically live there. Why not make it more comfortable, dress it up as you please and make it somewhere you enjoy spending all that time. In this post, I just wanted to discuss a few of the ways you can make your code editor feel like home (in particular, I will be talking about VS Code on Windows, but most popular editors should have similar features).</p><h3><strong>Color Themes</strong></h3><p>One of the most obvious ways we can dress up our editor is by changing the colour theme of it. We are going to be staring at it for hours on end, might as well make it look good. There are countless variations on themes, from dark to light, colourful to muted, high to low contrast, that you should be able to find one to suit your needs.</p><p>Picking out your colour theme is pretty simple as well. You can either go to File -&gt; Preferences -&gt; Colour Theme (or press Ctrl+K then Ctrl+T) and it will bring up a list of currently installed themes. You can go Up and Down through the list and it will give you a preview of what the theme looks like. You can then apply the theme by either pushing Enter or clicking on it.</p><p>If you want to add some additional colour themes, you can scroll down the list to Install Additional Colour Themes… and it will bring up a list of available themes or you can search in the box for a specific theme. Click on the theme name to bring up more information about it and then click on the Install button near the top to install it to VS Code.</p><p>Here are some of my favourite colour themes:</p><p>One Monokai (Current Theme)</p><p>Afterglow Remastered</p><p>Cobalt2</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*JBI4cpeMKKsUJLNXxyANDw.png" /><figcaption>Theme Selector and Theme Marketplace — Currently selected theme in use: One Monokai</figcaption></figure><h3>Fonts</h3><p>The next element that has the biggest impact on your visual usage of your editor would be the font, both the font family and font size. The proper font for you will be something that is comfortable to look at for long periods of time and something that helps you distinguish between similar characters (i.e lower case L and the number 1). Also, some people enjoy using a font that utilizes ligatures (where two or more letters / symbols are joined together to form a glyph) to create some often used symbol representations.</p><p>To change your font settings in VS Code, go to File -&gt; Preferences -&gt; Settings (or press Ctrl+comma) to bring up the User Settings. You will want to go to the pane on the right side, User Settings (not the left side Default User Settings) and look for the following line to change your default font family:</p><blockquote>“editor.fontFamily”: “Consolas”,</blockquote><p>Just replace what is inside the “” with the name of the font that you would like to use (i.e DejaVu Sans Mono, Hack etc) and then save the settings. To change the font size, look for the following line:</p><blockquote>“editor.fontSize”: 15,</blockquote><p>Just change the number with the size, in pts, that you would like the font to appear. It will all depend on your screen size / preferences. I, personally, enjoy using 15 for my font size as it gives me a decent amount of readability, spacing with the tab size I use and also works well when I go into split screen view.</p><p>If you are using a font that uses ligatures, you will need to add the following line to your User Settings:</p><blockquote>“editor.fontLigatures”: true,</blockquote><p>My current font of choice is Fira Code. It has pretty good distinction between L / 1 and O o 0, uses ligatures and just has an overall, nice sense of readability to it. For a list of other top, free, programming fonts, check out this post by Charlee Li — (<a href="https://itnext.io/11-best-programming-fonts-724283a9ed57">11 Best Programming Fonts — https://itnext.io/11-best-programming-fonts-724283a9ed57</a>)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GTVXRiZSTZ3gv0a7AMqrMg.png" /><figcaption>An example of Fira Code in action, showing the ligatures for === and =&gt;</figcaption></figure><h3><strong>Snippets</strong></h3><p>Snippets are a great way to take pieces of code that you use on a regular basis and give them a shortcut to save yourself some time and typing. If you already use Emmet for your HTML, then you are probably familiar with how useful snippets can be. To add or change your snippets, go to File -&gt; Preferences -&gt; User Snippets to bring down a menu listing all the different languages you can make a snippet for. For any languages that already have a snippet file, they will be listed at the top of the list and ones that need to have a snippet file created will be listed afterwards. When you create a new snippet file, you will be greeted with the following screen, showing you an example of how to create a snippet. You can simply delete the commented out text, if you desire, or just continue on afterwards:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WSvi_KxdxPBEiBwx2tEP9g.png" /><figcaption>Blank snippet ready to be populated</figcaption></figure><p>There are four parts to every snippet you create:</p><p>Title — This is for your own purposes, a title you make for your snippet / what you want to call it<br> Prefix — this is the shortcut that you will use to access your snippet<br> Body — This is the actual code that you want your snippet to produce.<br> Description — This is a description of what the snippet is used for / does</p><p>The body of the snippet itself is contained within [ ]. Each line goes within a set of “ “ and is finished off with a comma, except for the last line of the body. You can use \t to indicate a tab or \n to indicate a new line (or you could also use an empty set of “ “ to indicate a blank line). You can also use $1, $2 etc to indicate tab stops for after the snippet is run. $1 indicate where the cursor will be after the snippet is put onto the page. $2, $3 and so on, are used to indicate where the cursor will move to if you use tab after that.</p><p>Here are a few examples of some of my more frequently used snippets:</p><h4><strong>HTML</strong></h4><pre>“jQuery CDN”: {<br>“prefix”: “jq”,<br>“body”: “&lt;script src=’https://code.jquery.com/jquery-3.2.1.min.js&#39; integrity=’sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=’crossorigin=’anonymous’&gt;&lt;/script&gt;”,<br>“description”: “jquery 3.x”<br>}</pre><p>A simple snippet to throw in a CDN for jQuery.</p><h4><strong>CSS / SCSS</strong></h4><pre>“snippet-.setup”: {<br>  “prefix”: “.setup”,<br>    “body”: [<br>      “html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-      size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}”,<br>      “”,<br>      “.clearfix:after {visibility: hidden; display: block; font-      size: 0; content: \” \”; clear: both; height: 0; }”,<br>      “”,<br>      “* { t-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0;}”,<br>      “”,<br>      “.visuallyhidden:not(:focus):not(:active) {position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; white-space: nowrap; clip-path: inset(100%); clip: rect(0 0 0 0); overflow: hidden;}”,<br>      “”,<br>      “html { font-size: 62.5%; }”,<br>      “”,<br>      “ul { list-style: none; }”,<br>      “”,<br>      “a { text-decoration: none; }”,<br>      “”,<br>      “body { font-size: 1.6rem;}”,<br>    ],<br>    “description”: “”<br>}</pre><h4><strong>Javascript / React</strong></h4><pre>{<br>  “Console Log”: {<br>  “prefix”: “cl”,<br>  “body”: [<br>    “console.log($1);”,<br>      “$2”<br>  ],<br>  “description”: “Log output to console”<br>},</pre><pre>“Document Ready”: {<br>  “prefix”: “dr”,<br>  “body”: [<br>    “$(function() {“,<br>      “\t$1”,<br>    “});”<br>  ],<br>},</pre><pre>“Complex Component Creation”: {<br>  “prefix”: “complex”,<br>  “body”: [<br>    “import React, { Component } from ‘react’;”,<br>    “”,<br>    “class $1 extends Component {“,<br>      “\tconstructor() {“,<br>        “\t\tsuper();”,<br>        “\t\tthis.state = {“,<br>        “”,<br>        “\t\t}”,<br>      “\t}”,<br>      “\trender() {“,<br>        “\t\treturn (“,<br>          “\t\t\t$3”,<br>        “\t\t);”,<br>      “\t}”,<br>    “};”,<br>    “”,<br>  “export default $2;”<br>  ],<br>},</pre><pre>“Component Creation”: {<br>  “prefix”: “simple”,<br>    “body”: [<br>      “import React from ‘react’;”,<br>      “”,<br>      “const $1 = () =&gt; {“,<br>        “\treturn (“,<br>          “\t\t$3”,<br>        “\t);”,<br>      “};”,<br>    “”,<br>    “export default $2;”<br>  ], <br>}<br>}</pre><p>The first two are some simple Javascript / jQueries. One to throw up a console.log, first taking you into the parentheses then the next tab taking you onto the next line. The second is a simple document.ready. Following that, we have two snippets to make the skeletons of a component, one for a stateful component and one for a stateless component. They both will start off at the space to name the component, next tab taking you to fill in the name to export and the third tab taking you inside the return statement.</p><p>This was just a sample of the amazing things you can do to customize your code editor. There are so many more things, from different extensions, shortcuts and a wide range of others that can help make your coding experience much more comfortable and personal.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b858d4938cb" width="1" height="1" alt=""><hr><p><a href="https://medium.datadriveninvestor.com/making-your-code-editor-feel-like-home-customizing-vs-code-b858d4938cb">Making Your Code Editor Feel Like Home — Customizing VS Code</a> was originally published in <a href="https://medium.datadriveninvestor.com/">DataDrivenInvestor</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Using CSS Custom Properties / CSS Variables]]></title>
            <link>https://medium.com/@christopher.arsenault82/using-css-custom-properties-css-variables-f524bd7e6d3f?source=rss-719e40da2b34------2</link>
            <guid isPermaLink="false">https://medium.com/p/f524bd7e6d3f</guid>
            <category><![CDATA[styling]]></category>
            <category><![CDATA[css]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[webdev]]></category>
            <dc:creator><![CDATA[Christopher Arsenault]]></dc:creator>
            <pubDate>Sun, 12 Aug 2018 14:29:39 GMT</pubDate>
            <atom:updated>2018-08-12T14:32:41.460Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*wsTX9BwY410lZ9yG4ulVRQ.jpeg" /></figure><h3>What are CSS Custom Properties / Variables — Why Use Them?</h3><p>Variables are ways to hold pieces of information that can be used throughout your code. They are an integral part of any programming language and are now something that we can also use within our CSS. Whether it is for something as simple as defining our color / font sizes to help craft custom color themes, we can use CSS Variables to not only help manage our code better, but also to give us some more control over things.</p><p>CSS Variables can be defined at either the global scope, if you wish for them to be available anywhere throughout your CSS, or they can be defined at the local scope, if you only wish for them to be available in a specific block of code. Regardless of where you choose to define them, CSS Variables will cascade down through their children (like other CSS properties).</p><p>What makes CSS Variables really appealing to use is because you don’t have to completely re-write your style properties when you want to change something, you simply have to change the value of the variable. This allows us to not really have to worry about the specificity of our selectors. It also allows us to target specific areas of certain properties instead of having to completely re-write them when we want to change them (i.e if you want to change the angle of a linear gradient on hover, instead of re-writing out the whole linear gradient style, you can just use a variable in place of the angle and just update the variable as necessary). Also, we can use CSS Variables in conjunction with the <em>calc </em>function to do some pretty interesting and powerful things.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/622/1*0TK-kDTFP60AjjQW2-Nf_Q.jpeg" /><figcaption>Example of declaring a global CSS Variable, at the root level, and assigning it to the body’s background-color property.</figcaption></figure><h3><strong>Differences between CSS Variables / SASS / LESS Variables</strong></h3><p>Now, I know you may be thinking to yourself, hey don’t we already have SASS / LESS Variables, don’t those do the same thing? Yes, SASS / LESS Variables are a thing but they do not function in the same way. Let’s take a look at some of the differences between them:</p><h4>Different syntax for declaration and retrieving values</h4><p>Whereas SASS and LESS use $ and @, respectively, to define their vaiables, CSS Variables use a double dash (--) to define their variables (i.e --bgcolor, --fontSize). Also, when you wish to reference the variable in a property value, you would use the following <em>var(--variableName) </em>(i.e background-color: var(--bgcolor);).</p><h4><strong><em>SASS / LESS Variables — static, compiled before run-time</em></strong></h4><p>SASS Variables are a great way to organize your CSS but unfortunately there is no way for us to get to them once our site is running, they are static. Our SCSS code is run through a pre-processor (i.e Prepros etc) to generate our CSS code. It is at this time that the SASS Variables are processed and swapped out for their values. After that, the SASS Variables serve no more purpose, they can no longer be accessed.</p><h4>CSS Variables — dynamic, compiled at runtime, can be manipulated with JavaScript</h4><p>CSS Variables, on the other hand, are compiled at run-time of the site, giving us access to them while the user is on the site. CSS Variables are aware of the DOM and thus, can be accessed through JavaScript, giving us a great deal of flexibility with them and making them much more dynamic as well.</p><p><em>This isn’t to say that you have to choose between one or the other though. They both serve their own, separate purposes and can be used together to bring together your site.</em></p><h3>Examples of CSS Variables In Effect</h3><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fclarsena%2Fembed%2Fpreview%2FMBXojy%3Fheight%3D600%26slug-hash%3DMBXojy%26default-tabs%3Dcss%2Cresult%26host%3Dhttps%3A%2F%2Fcodepen.io%26embed-version%3D2&amp;url=https%3A%2F%2Fcodepen.io%2Fclarsena%2Fpen%2FMBXojy&amp;image=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fi.cdpn.io%2F1280053.MBXojy.small.a4fb97b9-85b7-4d12-a3fa-b5f28531e3d1.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/0d81412b5ff261fb72fc6dba22826d66/href">https://medium.com/media/0d81412b5ff261fb72fc6dba22826d66/href</a></iframe><p>In the above example, I have created a simple CSS animation of a number of snowflakes falling at different speeds. I have created a global variable called <em>--modifier</em> at the root level which I am using in place of the <em>delay </em>value in the animation. I have it plugged into a <em>calc </em>function to help give me the different rates of fall. On the page there is a slider that controls the value for the <em>--modifier</em> variable. When you slide it to the right, it increases the <em>--modifier</em>, increasing the delay and slowing down the animation, and if you slide it to the left, it decreases the <em>--modifier</em>, speeding up the animation. In the JavaScript, there is just a short function to listen for a change in the slider and then pops that value into the <em>--modifier</em>.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fcodepen.io%2Fclarsena%2Fembed%2Fpreview%2FajQNmj%3Fheight%3D600%26slug-hash%3DajQNmj%26default-tabs%3Dhtml%2Cresult%26host%3Dhttps%3A%2F%2Fcodepen.io%26embed-version%3D2&amp;url=https%3A%2F%2Fcodepen.io%2Fclarsena%2Fpen%2FajQNmj&amp;image=https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fi.cdpn.io%2F1280053.ajQNmj.small.43351b98-94dd-44a7-9443-154f0908be7b.png&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=codepen" width="800" height="600" frameborder="0" scrolling="no"><a href="https://medium.com/media/22bc7e30b1ab331b45c504dc9ac31cae/href">https://medium.com/media/22bc7e30b1ab331b45c504dc9ac31cae/href</a></iframe><p>The next example I made is a simple version showing how we can use CSS Variables to bring some customization and fun to the user through colour themes. Typically before, when you wanted to create some different colour themes for your website, depending on the size / complexity of your site, you would either need to write a large amount of code to re-write a number of different properties or even sometimes have separate stylesheets for each theme. CSS Variables can help alleviate some of that headache and streamline the process.</p><p>I have created three global variables at the root level, --bgcolor, --textcolor and --divcolor. Then , on the page, I made two different ways to apply a theme. I made buttons for if you wanted to apply a “premade theme” you designed and colour picker inputs for if you wanted to give the user more control over their colour choices. Again, the JavaScript behind it is very simple, just an event listening for input on either the button (and applying the value to all three variables at once) or the colour picker (and applying the value to that specific variable).</p><p><a href="https://googlechrome.github.io/samples/css-custom-properties/index.html">CSS Custom Properties (CSS Variables) Sample</a></p><p>The final example is one that I found that I thought really showed off some of the fun things you can do using CSS Variables. Created by ( <a href="/service/mailto:shans@chromium.org">shans@chromium.org</a>), this example takes a few CSS Variables, along with the calc function to not only initally layout a page but also to allow the user to change some of the layout, including spacing between items and even the amount of columns the page is laid out to. I thought that this example just really showed off some of the creative and fun ways you could make your page a bit more dynamic and allow your user to customize their experience.</p><h3>Support / Conclusion</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eWquT3z9z-USMlA3PjDI2A.jpeg" /><figcaption>Current support for CSS Variables at time of writing</figcaption></figure><p>The support for CSS Variables is currently pretty good, with all modern browsers supporting it and older IE versions and Opera Mini being the only holdouts. If you still need to support those browsers, then I would suggest maybe holding off for now (normally, I would just suggest to wrap them in an @supports but that also seems to not be supported by IE11 as well :D) but if you have the support for it, go nuts.</p><p>I for one am excited to start trying out using CSS Variables in some of my projects going forward to bring some interesting tweaks and changes.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f524bd7e6d3f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Getting Started with Git — The Basics]]></title>
            <link>https://medium.com/@christopher.arsenault82/getting-started-with-git-the-basics-64a0a48727f6?source=rss-719e40da2b34------2</link>
            <guid isPermaLink="false">https://medium.com/p/64a0a48727f6</guid>
            <category><![CDATA[git]]></category>
            <category><![CDATA[github]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[webdev]]></category>
            <category><![CDATA[workflow]]></category>
            <dc:creator><![CDATA[Christopher Arsenault]]></dc:creator>
            <pubDate>Sun, 05 Aug 2018 20:12:05 GMT</pubDate>
            <atom:updated>2018-08-05T20:12:05.571Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*KbjOibrR6r2WtUR6Af7fBg.png" /></figure><p>Git is currently one of, if not, the most widely used version control systems around. It is currently released under the open source license, making it free to use but what really makes it stand out is its branching model. You can create separate branches to work on different features, testing, and development or just to try out some new ideas. You can then either merge them onto your main branch or simply delete them if they aren’t working out.</p><p>The data is stored in repositories, which contains a full version history of all the code that has been pushed to it. There are many options available to users for where to create their repositories (GitHub, Bitbucket, Codebase, GitLab and many, many more) but I will be using GitHub for the purposes of this post.</p><p>Start off by going to <a href="https://git-scm.com/downloads">https://git-scm.com/downloads</a> to download and install the latest version of Git. Going through the main process of using Git, we will be using the terminal. On Windows, you can use the basic Command Prompt, but I would recommend using something a little more robust and full featured. I would recommend using cmder (<a href="http://cmder.net/">http://cmder.net/</a>). On Mac, a popular choice is iTerm2 (<a href="https://www.iterm2.com/">https://www.iterm2.com/</a>).</p><p>Next, go to <a href="https://github.com/">https://github.com</a> and clicking on Sign Up to create an account. Enter in your username, email address and password. On the following screen, click Unlimited public repositories for free and then on the final screen, click on the options that best pertain to you. After you submit, they will send you an email to confirm your account.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/796/1*wsYBAlwbDaJ7jaPP3G9fmw.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/796/1*5HfzrcgBfO6oDV71QSFVyQ.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/792/1*KzIKQNZ3OAxot1r8J4G6Bg.jpeg" /><figcaption>Signing up for your GitHub account</figcaption></figure><p>After confirming your account, come back and login to your account and you should be greeted with the following screen:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1012/1*SHZaw4rfSMUoaFdrAKBxtw.jpeg" /><figcaption>First time logging in to GitHub</figcaption></figure><p>On the following screen, enter a name of the repository. Under Owner, you should see your username. You can fill in a description of what the repository will be used for.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/722/1*AhR-OooNctRLX-BLLzCMag.jpeg" /><figcaption>Creating a new repository on GitHub</figcaption></figure><p>Click Public if you wish for it to be open for anyone to see, Private if you wish to have more control over who can see it. Under .gitignore, you can keep it at None for now as we will be creating our own shortly. Click on Create repository to complete the process. You should be greeted with the following screen, showing that the repository has been created and is ready to go.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1001/1*6K8Gc51lBlFDXeP-rcz5Ig.jpeg" /><figcaption>Finished setting up your repository</figcaption></figure><p>You should see your username / repositoryName at the top left followed by a URL to your repository under the Quick setup section. Keep this handy / copy it as we will be using it shortly as we setup our local repository on our system.</p><p>Next, open up your terminal (I will be working with cmder for this part). The first step will be configuring Git with your name and email. You will do so by utilizing the following commands: “git config –global user.name “<em>Your Name”</em> &amp; “git config –global user.email <em>“Your@email.com”</em>. Next, browse to the directory of your project (or create it if you don’t have it yet with mkdir “dirName”). Once inside the directory, use the command “git init” to set this directory as a local repository on this computer. Now that your local repo is setup, you will create a “.gitignore” file, which will indicate which files / directories you don’t want to include when pushing to your online repo. You will do this by using the command “touch .gitignore”. This will create a blank file called .gitignore in the current directory.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/978/1*b0BMNvGbeY_XNw_08UH40A.jpeg" /><figcaption>Getting started in cmder</figcaption></figure><p>Open this file up in a text editor and on each line you will indicate what you wish to ignore. You can put either specific files, certain file extensions or even directories you wish to ignore. Some common things to ignore would be *.pdf, *.psd, *.zip (to ignore all pdf, psd or zip files)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/755/1*Utnhk6fpUqwGbqSiRhHBVw.jpeg" /><figcaption>Prepping a simple .gitignore file</figcaption></figure><p>The next step is going to be to link your local repository, to your online repository. You will do this with the command “git remote add origin <em>repositroyURL</em>” (replacing repositoryURL with the URL of the repository you created earlier (in my case it would look like “<em>git remote add origin </em><a href="https://github.com/clarsena/testing.git"><em>https://github.com/clarsena/testing.git</em></a><em>”</em>). You have now created a link between your local repository on your computer and your online repository on GitHub. You can now add a couple blank files so that we can continue the process of adding files and pushing them to your online repository.</p><p>After adding your files, the next step is to add your files to the “staging area”, which is where they go when they are being prepared to be committed to the repo. You can do this by adding files individually or by adding all files that have been modified since the last commit. This is done with the “git add” command (i.e <em>“git add index.html”</em> for individual file or <em>“git add –A”</em> to add all modified / new files)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/977/1*6sr4UjTad3TGYGooyJjtQw.jpeg" /><figcaption>git remote &amp; git add commands in action</figcaption></figure><p>The next step will be committing your files to your repositories commit history. This is done with the “git commit –m “<em>Your commit message here</em>”” command. You typically want to include a message with each commit you do. This should be something descriptive of the changes that were made in the commit (i.e “<em>initial commit”, “fixed broken links in navigation menu”, “added responsiveness to body section” </em>etc). The final step in the process is to push the changes up to your online repo. This is done with the command “git push origin master”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/980/1*ltCo-kFPhoGpaXYFmoLZag.jpeg" /><figcaption>git commit &amp; git push commands in action</figcaption></figure><p>After you have pushed the changes to your online repo, you can go back to GitHub and see the changes that have been made. You should be able to see the files that have been committed so far, the message of the last commit, how long ago the last commit was made (this refers to the time since you performed the <em>git commit</em> command, not when the push was made). Along the top you can also see various other information related to the project, the number of commits made, how many branches there are etc.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/997/1*AcVffxNvSF8tv3PQm89iOQ.jpeg" /><figcaption>Looking at your online repo on GitHub after your first push</figcaption></figure><p>This is pretty much your basic workflow for standard projects. As you work on much larger projects or collaborate with others, you will start to use some of the more advanced features of Git. For now, though, this should be enough to get you started.</p><p>Summary:</p><p>-Create your online repo on GitHub (or other site)</p><p>-git init from your local directory</p><p>-git remote add origin <em>“remoteRepoURL”</em></p><p><strong>-git add –A</strong></p><p><strong>-git commit –m <em>“Your commit message here”</em></strong></p><p><strong>-git push origin master</strong></p><p><strong>Remember to commit your work often</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=64a0a48727f6" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>