<?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" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Amarachi Johnson - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Amarachi Johnson - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 09 May 2026 16:24:45 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/author/amarachukwu/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Contribute to Open Source as a Community Manager ]]>
                </title>
                <description>
                    <![CDATA[ The proverb "it takes a village" applies to more than child-rearing. It also takes a village to maintain an open source project.  Community is a large part of open source. After all, Open Source projects can't thrive without a strong network of peopl... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/contributing-to-open-source-as-a-community-manager/</link>
                <guid isPermaLink="false">66bcb0cf590628d550e040fd</guid>
                
                    <category>
                        <![CDATA[ community ]]>
                    </category>
                
                    <category>
                        <![CDATA[ community building ]]>
                    </category>
                
                    <category>
                        <![CDATA[ open source ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Amarachi Johnson ]]>
                </dc:creator>
                <pubDate>Tue, 05 Dec 2023 21:14:18 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/12/OSS-cover.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>The proverb "it takes a village" applies to more than child-rearing. It also takes a village to maintain an open source project. </p>
<p>Community is a large part of open source. After all, Open Source projects can't thrive without a strong network of people (community) who contribute towards it, either through code contributions, design, documentation, financial contributions, advocacy, or adoption.</p>
<p>This article covers why community is important in Open Source, what a community manager role involves, and how to get started. I’ve also included additional resources, and some real life experiences from the Open Source Community to help you get started. </p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ol>
<li><a class="post-section-overview" href="#heading-why-community">Why Community?</a></li>
<li><a class="post-section-overview" href="#heading-why-are-open-source-community-managers-important">Why are Open Source Community Managers Important</a>?</li>
<li><a class="post-section-overview" href="#heading-skills-to-have-as-an-open-source-community-manager">Skills to have as an Open Source Community Manager</a></li>
<li><a class="post-section-overview" href="#heading-roles-of-an-open-source-community-manager">Roles of an Open Source Community Manager</a></li>
<li><a class="post-section-overview" href="#how-to-get-started-as-an-open-source-community-manager-">How to Get Started as an Open Source Community Manager</a></li>
<li><a class="post-section-overview" href="#heading-how-to-find-open-source-projects-to-contribute-to">How to Find Open Source Projects to Contribute To</a></li>
<li><a class="post-section-overview" href="#heading-additional-resources">Additional Resources</a></li>
</ol>
<p>Before we head into the nitty-gritty of what an Open Source Community manager does, let’s take a look at the essence of community in open source.</p>
<h2 id="heading-why-community">Why Community?</h2>
<p>The heart of a community is that it's a place where people gather, exchange thoughts, and collectively create something greater than the sum of its parts.</p>
<p>In the open source realm, this concept takes a digital form. Communities form around shared interests and the desire to build, refine, and improve software collaboratively. It's not just about the code – it's about the people behind it. A vibrant community enhances creativity, accelerates learning, and fosters an environment where innovation thrives.</p>
<p>Open source is a community project. It never happens in isolation, and it grows because of the communities that form around it. Whether you interact with open source as a user, contributor, or both, you're part of a community, and the community is better for it.</p>
<p>There are a variety of reasons why people join open source communities. A large number of people join because they are required to work on the software as part of their job. Maybe their organizations recruited them to develop it or maybe the project is essential to their jobs.</p>
<p>Some participate in communities in order to have a direct influence on the software development process that produces the essential functions for them and their businesses. Some join because communities provide them with chances to collaborate with and learn from others, which helps them hone their abilities.</p>
<p>Some people sign up because it enables them to work with others to solve a problem they're having. Some sign up because they think it's important to add to a shared resource that benefits everyone. And others sign up in order to socialize, or for a sense of identity and belonging. </p>
<p>So it's important to nurture the community, support its members, and find a way to reach a sustainable outcome.</p>
<h2 id="heading-why-are-open-source-community-managers-important">Why Are Open Source Community Managers Important?</h2>
<p>As community projects grow and become more complex with multiple product owners and contributors, they need to have a community manager.</p>
<p>Open source community managers act as the conductors, bringing together developers, users, and contributors to create a masterpiece. They are the bridge between the project and its community, ensuring that everyone's voice is heard, questions are answered, and collaboration flows seamlessly.</p>
<h2 id="heading-skills-to-have-as-an-open-source-community-manager">Skills to Have as an Open Source Community Manager</h2>
<p>So, what makes a good community manager in the open source world? Here are some key qualities, encompassing both soft and hard skills:</p>
<ul>
<li>Communication Skills: A community manager must be an excellent communicator. Whether it's responding to GitHub issues, moderating discussions, or providing updates, clear and concise communication is key.</li>
<li>Empathy: Understanding the needs and concerns of community members is crucial. OSCMs should have a high level genuine interest and concern for teaching others, engaging a range of stakeholders and balancing tensions as they arise.</li>
<li>Adaptability and Inclusivity: Open source is dynamic, with contributors from diverse backgrounds. An effective community manager adapts to different communication styles and cultural nuances.</li>
<li>Technical Understanding: While not mandatory, having a basic understanding of the technical aspects of the project can be immensely helpful. It facilitates better communication with developers and enhances problem-solving.</li>
<li>Organizational Skills: Juggling multiple tasks, from handling forums to managing events, requires organizational finesse. Keeping things structured ensures that no message gets lost in the noise.</li>
<li>A good command of English is a requirement for most jobs.</li>
</ul>
<h3 id="heading-recommended-tools-to-learn-as-a-community-manager">Recommended tools to learn as a community manager</h3>
<p>Knowledge of all or some of these tools are 'nice-to-have'. You can check out job descriptions of OSCMs in job openings, and try to develop some or all of the skills that appear frequently. </p>
<p>Here are a few of the core skills you should learn:</p>
<ul>
<li>Git, GitHub, GitLab, and other version control systems for collaborative work.</li>
<li>How to use Discord, slack, Discourse, and other communication tools.</li>
<li>Markdown for documentation</li>
</ul>
<h2 id="heading-roles-of-an-open-source-community-manager">Roles of an Open Source Community Manager</h2>
<p>OSCMs work at the intersection of Developer Relations, Evangelism, Marketing, Engagement, and Advocacy. In fact, the majority of these responsibilities overlap so greatly that they are practically indistinguishable from one another.</p>
<p>Often times, the role of an open source community manager may be tricky to define, as there are many different aspects to it. Let's take a look at some of the responsibilities of OSCMs:</p>
<ul>
<li>Community Engagement—an open source community manager facilitates engagement by moderating, engaging, and supporting users in forums including Discourse, GitHub, and Reddit, Discord, Slack and Github discussions.</li>
<li>Community recognition—when everyone feels like they have a home where they're appreciated, they’ll be encouraged to stay engaged. Impactful and meaningful recognitions such as celebrating community successes, sending swag, and recognizing top contributors is a great way to encourage a sense of belonging among contributors and build trust.</li>
<li>Creating and managing new community and outreach programs—this could involve organizing meetups, events, hackathons, advocacy, and content (articles or newsletters, for example)</li>
<li>Coordinating with other departments—such as product, engineering, and content marketing—to support community initiatives.</li>
<li>Partner Management—keeping up to date with the various stakeholders and partners involved in the project</li>
<li>Creating a good open source project—making the project discoverable, making the project easy to use, communicating feedback to project to maintainers, keeping documentation up to date and readable, spotting areas where the project could use more help.</li>
</ul>
<h2 id="heading-how-to-get-started-as-an-open-source-community-manager">How to Get Started as an Open Source Community Manager</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/12/john-cameron--_5IRj1F2rY-unsplash.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Credit: John Cameron</em></p>
<p>Because of how vast and evolving the roles of OSCMs are, I sat down with three Open Source Community Managers to learn about how they started, and what their roles entailed. Each of these experiences differed in how the role was defined, the hiring process, and in their goals.</p>
<p>I spoke with <a target="_blank" href="https://twitter.com/fibibakes">Fiberesima Ibi</a>, an Open Source Community Manager at Gnome Africa, whose journey started with an email and a desire to find the right open-source community where she could apply her skills.  </p>
<blockquote>
<p>“After exploring a few communities, I felt lost. Then, I stumbled upon GNOME Africa through Regina's tweet, and it clicked instantly.   </p>
<p>What drew me in was GNOME's commitment to crafting an intuitive, accessible desktop environment. The African community was set up towards exposing Africans to contribute to GNOME projects and other open-source technologies.”</p>
</blockquote>
<p>Fibi reached out to Gnome via mail, expressing her interest, which opened doors to becoming an Open Source Community Manager for GNOME Africa. </p>
<p>Speaking of her current role since joining the community, she has this to say:</p>
<blockquote>
<p>“Reviving the community was a challenge I embraced. I've been focused on crafting strategies to boost engagement and contributions, and creating a welcoming space for everyone.   </p>
<p>We recently started an X-series on “Recognizing your value as a contributor in the open source ecosystem” with the aim to empower contributors to leverage their open source journey to advance their career and personal growth.”</p>
</blockquote>
<p>It's been an incredible journey of learning, empowering contributors, and advocating for GNOME's growth for Fibi. The main lesson she learned? </p>
<blockquote>
<p>“Taking that first step, reaching out, and not underestimating the power of asking.”</p>
</blockquote>
<p><a target="_blank" href="https://twitter.com/jdorfman">Justin Dorfman</a> (Open Source Community Manager at Sourcegraph) also shared his story:</p>
<blockquote>
<p>“Starting in high school, I wanted to be a software engineer. The only problem was I wasn’t good at it. I would screw things up and sometimes create more work for senior engineers.   </p>
<p>One of my mentors saw that I was very passionate and knowledgeable about open source and convinced me there were other ways to contribute.   </p>
<p>At first, I was skeptical, but as the months and then years passed, I found I was making more impactful contributions to open source than I ever could have imagined. A <a target="_blank" href="https://tncc-newsletter.com/">non-code contributor</a> as some say.”  </p>
<p>“In my current role, I work with our community to get questions answered, I work with our engineering team to get content created, I recruit talented community members to join our company, and I make sure the open source dependencies we rely on are funded. From time to time, I update our docs or about the page, but the bulk of my time is spent out of an IDE.”</p>
</blockquote>
<p>For <a target="_blank" href="https://twitter.com/OfirUriel">Uriel Ofir</a>, Community Manager at Ma'akaf, he recognized the challenges faced by Israeli programmers to connect with open source projects, and he built a community to address that.  </p>
<blockquote>
<p>As a community manager at Ma'akaf, my role is centered around creating an inclusive environment where Israeli programmers can seamlessly connect with open-source projects.   </p>
<p>From overseeing our dynamic Discord server to facilitating knowledge-sharing through WhatsApp groups, every aspect of my work aims to foster collaboration within our community.   </p>
<p>We provide valuable opportunities for members to network and learn by organizing physical and online meetups. Ultimately, my journey involves empowering individuals to engage, learn, and contribute effectively to the world of open source.</p>
</blockquote>
<p>Many OSCMs perform their roles as volunteers, but sometimes communities hire for community managers. If you’re contributing on a voluntary basis, you’ll have a delicate balance to strike with regards to the community’s needs and your own commitments. </p>
<h3 id="heading-open-source-community-manager-roadmap">Open Source Community Manager Roadmap</h3>
<p>Regardless of how you joined, it might still be intimidating to start as a new community manager, so it's better to approach the position similarly to any other development project. You'll need to identify your goals, define your idea of success, and then plan every step of your journey. </p>
<p>Here’s a simple getting started guide for new OSCMs:</p>
<ul>
<li>Choose an open source community that aligns with your goals.</li>
<li>Join in—attend their events, join relevant groups, and connect with peers</li>
<li>Contribute—read their documentation, check out the product features, make a contribution</li>
<li>Volunteer—let the maintainers see your work, and approach to community management.</li>
</ul>
<p>There are other ways to get started. In my case, I started my journey to Open Source Community Management through the Github Social Impact Digital Public Goods Open Source Community Manager, where I currently volunteer with <a target="_blank" href="https://opentermsarchive.org">Open Terms Archive</a> as an Open Source Community Manager. </p>
<p>My role as a community manager involves various responsibilities. I help ensure that everyone collaborates in an effective way with less friction, I onboard users and contributors, I help improve our documentation, and I review and collaborate on pull requests.</p>
<h2 id="heading-how-to-find-open-source-projects-to-contribute-to"><strong>How to Find</strong> O<strong>pen</strong> S<strong>ource</strong> P<strong>rojects to</strong> C<strong>ontribute to</strong></h2>
<p>I recommend starting with products, tools, and communities you already use or are a part of when looking for open source projects you want to contribute to. Since you are already familiar with the technology, there won't be much need for you to learn about it.</p>
<ul>
<li>Utilize your social media connections: Search for announcements on Twitter and LinkedIn.</li>
<li>Use search engines to search with keywords such as "open source community manager"</li>
<li>Send a pitch to maintainers of open source communities you're part of.</li>
</ul>
<h2 id="heading-additional-resources">Additional Resources</h2>
<p>Ready to dive deeper? Here are some resources to fuel your open source community management journey:</p>
<ol>
<li><a target="_blank" href="https://www.linuxfoundation.org/resources/open-source-guides/building-leadership-in-an-open-source-community">Building leadership in Open Source Communities</a> by Linux Foundation</li>
<li><a target="_blank" href="https://ukdevv.hashnode.dev/becoming-open-source-community-manager-1">[Becoming]: Open Source Community Manager</a> by Mary Blessing</li>
<li><a target="_blank" href="https://ukdevv.hashnode.dev/the-significance-of-a-community-manager-to-your-open-source-projects">The significance of a community manager in your Open Source project</a> by Mary Blessing</li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/introduction-to-git-and-github/">How to Use Git and GitHub – Introduction for Beginners</a> by Segun Ajibola</li>
<li><a target="_blank" href="https://github.com/emmanuellar/Community-Management-Resources">Community Management Resources</a> by Amarachi Johnson-Ubah</li>
</ol>
<p>Thank you for taking the time to read. I hope this article has been helpful, and if you have any questions, don't hesitate to reach out to me via <a target="_blank" href="https://twitter.com/amxrachijohnson">Twitter</a>.  </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Technical Writing for Beginners – An A-Z Guide to Tech Blogging Basics ]]>
                </title>
                <description>
                    <![CDATA[ If you love writing and technology, technical writing could be a suitable career for you. It's also something else you can do if you love tech but don’t really fancy coding all day long. Technical writing might also be for you if you love learning by... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/technical-writing-for-beginners/</link>
                <guid isPermaLink="false">66bcb0d7463cb352e42ea098</guid>
                
                    <category>
                        <![CDATA[ Blogging ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing ]]>
                    </category>
                
                    <category>
                        <![CDATA[ writing tips ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Amarachi Johnson ]]>
                </dc:creator>
                <pubDate>Fri, 20 Nov 2020 19:47:34 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/11/etienne-boulanger-aafOjsh-9jU-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you love writing and technology, technical writing could be a suitable career for you. It's also something else you can do if you love tech but don’t really fancy coding all day long.</p>
<p>Technical writing might also be for you if you love learning by teaching others, contributing to open source projects and teaching others how to do so, too, or basically enjoy explaining complex concepts in simple ways through your writing.</p>
<p>Let's dive into the fundamentals and learn about what you should know and consider when getting started with technical writing.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<p>In this article, we’ll be looking at:</p>
<ul>
<li><a class="post-section-overview" href="#what-technical-writing-is">What Technical writing is</a></li>
<li><a class="post-section-overview" href="#benefits">Benefits of Technical Writing</a></li>
<li><a class="post-section-overview" href="#some-necessary-skills">Necessary skills to have as a Technical Writer</a></li>
<li><a class="post-section-overview" href="#heading-the-technical-writing-process">The Technical Writing Process</a></li>
<li><a class="post-section-overview" href="#platforms-for-publishing-your-articles">Platforms for publishing your articles</a></li>
<li><a class="post-section-overview" href="#heading-technical-writing-courses">Technical Writing Courses</a></li>
<li><a class="post-section-overview" href="#heading-technical-writing-forums-and-communities">Technical Writing forums and communities</a></li>
<li><a class="post-section-overview" href="#Some-amazing-technical-writers-to-follow">Some amazing technical writers to follow</a></li>
<li><a class="post-section-overview" href="#heading-final-words">Final Words and references</a></li>
</ul>
<h2 id="heading-what-is-technical-writing">What is Technical Writing?</h2>
<p>Technical writing is the art of providing detail-oriented instruction to help users understand a specific skill or product.</p>
<p>And a technical writer is someone who writes these instructions, otherwise known as technical documentation or tutorials. This could include user manuals, online support articles, or internal docs for coders/API developers.</p>
<p>A technical writer communicates in a way that presents technical information so that the reader can use that information for an intended purpose.</p>
<h2 id="heading-benefits-of-technical-writing">Benefits of Technical Writing</h2>
<p>Technical writers are lifelong learners. Since the job involves communicating complex concepts in simple and straightforward terms, you must be well-versed in the field you're writing about. Or be willing to learn about it.</p>
<p>This is great, because with each new technical document you research and write, you will become an expert on that subject.</p>
<p>Technical writing also gives you a better sense of user empathy. It helps you pay more attention to what the readers or users of a product feel rather than what you think.</p>
<p>You can also make money as a technical writer by contributing to organizations. Here are <a target="_blank" href="https://catalins.tech/websites-that-pay-you-to-write-technical-articles">some organizations that pay you to write for them</a>, like <a target="_blank" href="https://smashingmagazine.com">Smashing Magazine</a>, <a target="_blank" href="https://auth0.com/">AuthO</a>, <a target="_blank" href="https://twilio.com">Twilio</a>, and <a target="_blank" href="https://stackoverflow.com">Stack Overflow</a>.</p>
<p>In addition to all this, you can contribute to Open Source communities and participate in paid open source programs like <a target="_blank" href="https://edidiongasikpo.com/how-to-crack-the-google-season-of-docs-application-process-for-2020">Google Season of Docs</a> and <a target="_blank" href="https://outreachy.org">Outreachy</a>.</p>
<p>You can also take up technical writing as a full time profession – lots of companies need someone with those skills.</p>
<h2 id="heading-necessary-skills-to-have-as-a-technical-writer">Necessary Skills to Have as a Technical Writer</h2>
<h3 id="heading-understand-the-use-of-proper-english">Understand the use of proper English</h3>
<p>Before you consider writing, it is necessary to have a good grasp of English, its tenses, spellings and basic grammar. Your readers don't want to read an article riddled with incorrect grammar and poor word choices.</p>
<h3 id="heading-know-how-to-explain-things-clearly-and-simply">Know how to explain things clearly and simply</h3>
<p>Knowing how to implement a feature doesn't necessarily mean you can clearly communicate the process to others. </p>
<p>In order to be a good teacher, you have to be empathetic, with the ability to teach or describe terms in ways suitable for your intended audience.</p>
<blockquote>
<p>If you can't explain it to a six year old, you don't understand it yourself. Albert Einstein</p>
</blockquote>
<h3 id="heading-possess-some-writing-skills">Possess some writing skills‌‌</h3>
<p>I believe that writers are made, not born. And you can only learn how to write by actually writing. </p>
<p>You might never know you have it in you to write until you put pen to paper. And there's only one way to know if you have some writing skills, and that's by writing. </p>
<p>So I encourage you to start writing today. You can choose to start with any of the platforms I listed in <a class="post-section-overview" href="#Platforms-for-publishing-your-articles">this section</a> to stretch your writing muscles.</p>
<p>And of course, it is also a <strong>huge benefit to have some experience in a technical field.</strong></p>
<h2 id="heading-the-technical-writing-process">The Technical Writing Process</h2>
<h3 id="heading-analyze-and-understand-who-your-readers-are">Analyze and Understand who your Readers are</h3>
<p>The biggest factor to consider when you're writing a technical article is your intended/expected audience. It should always be at the forefront of your mind.</p>
<p>A good technical writer writes based on the reader’s context. <strong>As an example</strong>, let's say you're writing an article targeted at beginners. It is important not to assume that they already know certain concepts.</p>
<p>You can start out your article by outlining any necessary prerequisites. This will make sure that your readers have (or can acquire) the knowledge they need before diving right into your article.</p>
<p>You can also include links to useful resources so your readers can get the information they need with just a click.</p>
<p>In order to know for whom you are writing, you have to gather as much information as possible about who will use the document.</p>
<p>It is important to know if your audience has expertise in the field, if the topic is totally new to them, or if they fall somewhere in between.</p>
<p>Your readers will also have their own expectations and needs. You must determine what the reader is looking for when they begin to read the document and what they'll get out of it.</p>
<p>To understand your reader, ask yourself the following questions before you start writing:</p>
<ul>
<li>Who are my readers?</li>
<li>What do they need?</li>
<li>Where will they be reading?</li>
<li>When will they be reading?</li>
<li>Why will they be reading?</li>
<li>How will they be reading?</li>
</ul>
<p>These questions also help you think about your reader's experience while reading your writing, which we'll talk about more now.</p>
<h3 id="heading-think-about-user-experience">Think About User Experience</h3>
<p>User experience is just as important in a technical document as it is anywhere on the web.</p>
<p>Now that you know your audience and their needs, keep in mind how the document itself services their needs. It’s so easy to ignore how the reader will actually use the document.</p>
<p>As you write, continuously step back and view the document as if you're the reader. Ask yourself: Is it accessible? How will your readers be using it? When will they be using it? Is it easy to navigate?</p>
<p>The goal is to write a document that is both useful to and useable by your readers.</p>
<h3 id="heading-plan-your-document">Plan Your Document</h3>
<p>Bearing in mind who your users are, you can then conceptualize and plan out your document.</p>
<p>This process includes a number of steps, which we'll go over now.</p>
<h4 id="heading-conduct-thorough-research-about-the-topic">Conduct thorough research about the topic</h4>
<p>While planning out your document, you have to research the topic you're writing about. There are tons of resources only a Google search away for you to consume and get deeper insights from. </p>
<p>Don't be tempted to lift off other people's works or articles and pass it off as your own, as this is plagiarism. Rather, use these resources as references and ideas for your work. </p>
<p>Google as much as possible, get facts and figures from research journals, books or news, and gather as much information as you can about your topic. Then you can start making an outline.</p>
<h4 id="heading-make-an-outline">Make an outline</h4>
<p>Outlining the content of your document before expanding on it helps you write in a more focused way. It also lets you organize your thoughts and achieving your goals for your writing.</p>
<p>An outline can also help you identify what you want your readers to get out of the document. And finally, it establishes a timeline for completing your writing.</p>
<h4 id="heading-get-relevant-graphicsimages">Get relevant graphics/images</h4>
<p>Having an outline is very helpful in identifying the various virtual aids (infographics, gifs, videos, tweets) you'll need to embed in different sections of your document. </p>
<p>And it'll make your writing process much easier if you keep these relevant graphics handy. </p>
<h3 id="heading-write-in-the-correct-style">Write in the Correct Style</h3>
<p>Finally, you can start to write! If you've completed all these steps, writing should become a lot easier. But you still need to make sure your writing style is suitable for a technical document.</p>
<p>The writing needs to be accessible, direct, and professional. Flowery or emotional text is not welcome in a technical document. To help you maintain this style, here are some key characteristics you should cultivate.</p>
<h4 id="heading-use-active-voice">Use Active Voice</h4>
<p>It's a good idea to use active voices in your articles, as it is easier to read and understand than the passive voice.</p>
<p>Active voice means that the <strong>subject</strong> of the sentence is the one actively performing the <strong>action</strong> of the verb. Passive voice means that a <strong>subject</strong> is the recipient of a verb's <strong>action</strong>.</p>
<p>Here's an example of <strong>passive voice</strong>: The documentation should be read six times a year by every web developer.</p>
<p>And here's an example of <strong>active voice</strong>: Every web developer should read this documentation 6 times a year.</p>
<h4 id="heading-choose-your-words-carefully">Choose Your Words Carefully</h4>
<p>Word choice is important. Make sure you use the best word for the context. Avoid overusing pronouns such as ‘it’ and ‘this’ as the reader may have difficulty identifying which nouns they refer to. </p>
<p>Also avoid slang and vulgar language – remember you're writing for a wider audience whose disposition and cultural inclinations could differ from yours.</p>
<h4 id="heading-avoid-excessive-jargon">Avoid Excessive Jargon</h4>
<p>If you’re an expert in your field, it can be easy to use jargon you're familiar with without realizing that it may be confusing to other readers. </p>
<p>You should also avoid using acronyms you haven't previously explained.</p>
<p><strong>Here's an Example</strong>:</p>
<p>Less clear: <strong>PWAs</strong> are truly considered the future of multi-platform development. Their availability on both Android and iOS makes them the app of the future.</p>
<p>Improved: <strong>Progressive Web Applications (PWAs)</strong> are truly the future of multi-platform development. Their availability on both Android and iOS makes <strong>PWAs</strong> the app of the future.</p>
<h4 id="heading-use-plain-language">Use Plain Language</h4>
<p>Use fewer words and write in a way so that any reader can understand the text.‌‌ Avoid big lengthy words. Always try to explain concepts and terms in the clearest way possible.</p>
<h4 id="heading-visual-formatting">Visual Formatting</h4>
<p>A wall of text is difficult to read. Even the clearest instructions can be lost in a document that has poor visual representation.</p>
<p>They say a picture is worth a thousand words. This rings true even in technical writing.</p>
<p>But not just any image is worthy of a technical document. Technical information can be difficult to convey in text alone. A well-placed image or diagram can clarify your explanation.</p>
<p>People also love visuals, so it helps to insert them at the right spots. Consider the images below:</p>
<p>First, here's a blog snippet without visuals:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/step2-1.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Here's a snippet of same blog, but with visuals:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/step1-1.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Adding images to your articles makes the content more relatable and easier to understand. In addition to images, you can also use gifs, emoji, embeds (social media, code) and code snippets where necessary.</p>
<p>Thoughtful formatting, templates, and images or diagrams will also make your text more helpful to your readers. You can check out the references below for a technical writing template from @Bolajiayodeji.</p>
<h4 id="heading-do-a-careful-review">Do a Careful Review</h4>
<p>Good writing of any type must be free from spelling and grammatical errors. These errors might seem obvious, but it's not always easy to spot them (especially in lengthy documents).</p>
<p>Always double-check your spelling (you know, dot your Is and cross your Ts) before hitting 'publish'.</p>
<p>There are a number of free tools like <a target="_blank" href="https://grammarly.com/">Grammarly</a> and the <a target="_blank" href="http://www.hemingwayapp.com/">Hemingway app</a> that you can use to check for grammar and spelling errors. You can also share a draft of your article with someone to proofread before publishing.</p>
<h2 id="heading-where-to-publish-your-articles">Where to Publish Your Articles</h2>
<p>Now that you've decided to take up technical writing, here are some good platforms where you can start putting up technical content for free. They can also help you build an appealing portfolio for future employers to check out.</p>
<p><a target="_blank" href="https://dev.to"><strong>Dev.to</strong></a> is a community of thousands of techies where both writers and readers get to meaningfully engage and share ideas and resources.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/devto.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p><a target="_blank" href="https://hashnode.com"><strong>Hashnode</strong></a> is my go-to blogging platform with awesome perks such as custom domain mapping and an interactive community. Setting up a blog on this platform is also easy and fast.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/hashnode.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p><strong><a target="_blank" href="https://freecodecamp.org">freeCodeCamp</a></strong> has a very large community and audience reach and is a great place to publish your articles. However, you'll need to apply to write for their publication with some previous writing samples. </p>
<p>Your application could either be accepted or rejected, but don't be discouraged. You can always reapply later as you get better, and who knows? You could get accepted.</p>
<p>If you do write for them, they'll review and edit your articles before publishing, to make sure you publish the most polished article possible. They'll also share your articles on their social media platforms to help more people read them.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/freecodecamp.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<p><strong><a target="_blank" href="https://hackernoon.com">Hackernoon</a></strong> has over 7,000 writers and could be a great platform for you to start publishing your articles to the over 200,000 daily readers in the community. </p>
<p>Hacker Noon supports writers by proofreading their articles before publishing them on the platform, helping them avoid common mistakes.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/11/hackernoon.PNG" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-technical-writing-courses">Technical Writing Courses</h2>
<p>Just like in every other field, there are various processes, rules, best practices, and so on in Technical Writing. </p>
<p>Taking a course on technical writing will help guide you through every thing you need to learn and can also give you a major confidence boost to kick start your writing journey. </p>
<p>Here are some technical writing courses you can check out:</p>
<ul>
<li><a target="_blank" href="https://developers.google.com/tech-writing">Google Technical Writing Course</a> (Free)</li>
<li><a target="_blank" href="https://www.udemy.com/topic/technical-writing/">Udemy Technical Writing Course</a> (Paid)</li>
<li><a target="_blank" href="https://hashnode.com/bootcamp/batch-2">Hashnode Technical Writing Bootcamp</a> (Free)</li>
</ul>
<h2 id="heading-technical-writing-forums-and-communities">Technical Writing Forums and Communities</h2>
<blockquote>
<p>Alone we can do so little, together, we can do so much ~ Helen Keller</p>
</blockquote>
<p>Being part of a community or forum along with people who share same passion as you is beneficial. You can get feedback, corrections, tips and even learn some style tips from other writers in the community. </p>
<p>Here are some communities and forums for you to join:</p>
<ul>
<li><a target="_blank" href="https://hashnode.com">Hashnode</a></li>
<li><a target="_blank" href="https://dev.to">Dev.to</a></li>
<li><a target="_blank" href="http://technicalwritingworld.com/forum">Technical Writing World</a></li>
<li><a target="_blank" href="https://www.linkedin.com/groups/112571/profile">Technical Writer Forum</a></li>
<li><a target="_blank" href="http://forum.writethedocs.org/">Write the Docs Forum</a></li>
</ul>
<h2 id="heading-some-amazing-technical-writers-to-follow">Some Amazing Technical Writers to follow</h2>
<p>In my technical writing journey, I've come and followed some great technical writers whose writing journey, consistency, and style inspire me. </p>
<p>These are the writers whom I look up to and consider virtual mentors on technical writing. Sometimes, they drop technical writing tips that I find helpful and have learned a lot from. </p>
<p>Here are some of those writers (hyperlinked with their twitter handles):</p>
<ul>
<li><a target="_blank" href="https://twitter.com/ossia">Quincy Larson</a></li>
<li><a target="_blank" href="https://twitter.com/didicodes">Edidiong Asikpo</a></li>
<li><a target="_blank" href="https://twitter.com/catalinmpit">Catalin Pit</a></li>
<li><a target="_blank" href="https://twitter.com/lo_victoria2666">Victoria Lo</a></li>
<li><a target="_blank" href="https://twitter.com/iambolajiayo">Bolaji Ayodeji</a></li>
<li><a target="_blank" href="https://twitter.com/amrutaranade">Amruta Ranade</a></li>
<li><a target="_blank" href="https://twitter.com/dailydevtips1">Chris Bongers</a></li>
<li><a target="_blank" href="https://twitter.com/colbyfayock">Colby Fayock</a></li>
</ul>
<h2 id="heading-final-words">Final words</h2>
<p>You do not need a degree in technical writing to start putting out technical content. You can start writing on your personal blog and public GitHub repositories while building your portfolio and gaining practical experience.</p>
<p><strong>Really – Just Start Writing.</strong></p>
<p>Practice by creating new documents for existing programs or projects. There are a number of open source projects on GitHub that you can check out and add to their documentation.</p>
<p>Is there an app that you love to use, but its documentation is poorly written? Write your own and share it online for feedback. You can also quickly set up your blog on <a target="_blank" href="https://hashnode.com">hashnode</a> and start writing.</p>
<blockquote>
<p><em>You learn to write by writing, and by reading and thinking about how writers have created their characters and invented their stories. If you are not a reader, don't even think about being a writer. - Jean M. Auel</em></p>
</blockquote>
<p><strong>Technical writers are always learning</strong>. By diving into new subject areas and receiving external feedback, a good writer never stops honing their craft.</p>
<p>Of course, good writers are also voracious readers. By reviewing highly-read or highly-used documents, your own writing will definitely improve.</p>
<p>Can't wait to see your technical articles!</p>
<h3 id="heading-references">References</h3>
<p><a target="_blank" href="https://www.bittbox.com/advice/introduction-technical-writing">Introduction to Technical Writing</a>‌‌</p>
<p><a target="_blank" href="https://amarachiazubuike.com/how-to-structure-a-technical-article-ckg9yiy9c01sns9s17jk1aazd">How to structure a technical article</a>‌‌</p>
<p><a target="_blank" href="https://edidiongasikpo.com/understanding-your-audience-the-why-and-how">Understanding your audience, the why and how</a></p>
<p>‌‌<a target="_blank" href="https://github.com/BolajiAyodeji/technical-writing-template">Technical Writing template</a></p>
<p>I hope this was helpful. If so, follow me on <a target="_blank" href="https://twitter.com/msamarachukwu">Twitter</a> and let me know!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Learn Git and Version Control in an Hour ]]>
                </title>
                <description>
                    <![CDATA[ Version control is something all software developers should know. It helps you manage changes to your projects or programs. This article will help you learn the basics of Git and versioning in order to effectively collaborate and manage your software... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/learn-git-and-version-control-in-an-hour/</link>
                <guid isPermaLink="false">66bcb0d1590628d550e040ff</guid>
                
                    <category>
                        <![CDATA[ Git ]]>
                    </category>
                
                    <category>
                        <![CDATA[ GitHub ]]>
                    </category>
                
                    <category>
                        <![CDATA[ version control ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Amarachi Johnson ]]>
                </dc:creator>
                <pubDate>Thu, 03 Sep 2020 05:37:29 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2020/08/photo-1534988333262-c455b9332e52.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Version control is something all software developers should know. It helps you manage changes to your projects or programs.</p>
<p>This article will help you learn the basics of Git and versioning in order to effectively collaborate and manage your software projects.</p>
<h2 id="heading-contents">Contents</h2>
<ul>
<li><a class="post-section-overview" href="#heading-what-are-git-and-version-control">What are git and version control?</a></li>
<li><a class="post-section-overview" href="#heading-setting-up-your-git-bash">Setting up your Gitbash</a></li>
<li><a class="post-section-overview" href="#heading-initializing-your-repository">Initializing your repository</a></li>
<li><a class="post-section-overview" href="#heading-making-your-first-commit-in-git">Making your first commit in Git</a></li>
<li><a class="post-section-overview" href="#heading-creating-branches-in-git">Creating a branch in Git</a></li>
<li><a class="post-section-overview" href="#heading-reverting-to-a-commit">Reverting to a commit</a></li>
<li><a class="post-section-overview" href="#heading-creating-a-remote-repository">Creating a remote repository</a></li>
<li><a class="post-section-overview" href="#heading-syncing-your-remote-repository-to-your-local-repository">Syncing your remote repository to your local repository</a></li>
<li><a class="post-section-overview" href="#heading-updating-your-git-repository-remote-and-local">Updating your git repository (local and remote)</a></li>
<li><a class="post-section-overview" href="#heading-what-does-origin-mean">What does "Origin" mean?</a></li>
</ul>
<h2 id="heading-pre-requisites">Pre-requisites</h2>
<p>I assume you already have an account on GitHub. If you don't, just head over to <a target="_blank" href="https://github.com">GitHub</a> to create one.</p>
<p>You'll also need to download and install git bash from <a target="_blank" href="https://git-scm.com/">git-scm.com</a> or <a target="_blank" href="https://gitforwindows.org/">gitforwindows.org</a> (if you're running a Windows PC).</p>
<p>Now let's go ahead and learn about version control.</p>
<h2 id="heading-what-are-git-and-version-control">What are Git and Version Control?</h2>
<p>Git is a version control system that is used to track changes that are made to a file or project. It was made by Linus Trovalds (the creator of the Linux operating system). </p>
<p>GitHub, on the other hand, is an open-source cloud-based collaboration platform that allows developers to easily share software and collaborate on different projects.</p>
<p>Everyone from open source projects to private teams and individual projects can use GitHub. You can just upload your code and track changes made in a project for future use.</p>
<p><strong>Recap: Version control</strong> is a system that records changes to a file or set of files over time so that you can recall specific versions later.</p>
<h2 id="heading-setting-up-your-git-bash">Setting Up your Git Bash</h2>
<p>For the purpose of this tutorial, we'll be creating a new folder, which I've named <code>babysteps2git</code>. We'll be using it as our local repository throughout this article.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574179089440/SP6x0atPG.png?auto=format&amp;q=60" alt="filemgr.PNG" width="600" height="400" loading="lazy">
<em>A new folder created just for this Git tutorial</em></p>
<p>Inside this <code>babysteps2git</code> folder, we have a file, <code>index.html</code>, which we'll be using for instances. I created it from my favorite command line Interface, Cmder. </p>
<p>You can create yours by typing <code>touch index.html</code> inside the <code>babysteps2git</code> folder (this should be done from your command prompt) or you can create one from your text editor.</p>
<p>Now, let's set up our Git globally by configuring our username and email (if this is your first time using Git).</p>
<p>Open up git bash, then use the command <strong><code>git config --global [user.name](http://user.name/) "Your name</code>"</strong> to configure your username and <strong><code>git config --global [user.email](http://user.email/) "Your email"</code></strong> to configure your email.</p>
<p>In the instance below, my GitHub username is <code>emmanuellar</code> while my email address is <code>emmanuellar805@gmail.com</code>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574193630610/mPZKvap3F.png?auto=format&amp;q=60" alt="configure.PNG" width="600" height="400" loading="lazy">
<em>Configuring git on your device</em></p>
<p>To check if your configuration has been added, type in <strong><code>git config --global user.name</code></strong> to check your username and <strong><code>git config --global user.email</code></strong>to check your email. </p>
<p>If your configuration was successful, you'll have your username and email address returned once you type in these commands and hit <em>enter</em>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574193609012/qY1VzVm96.png?auto=format&amp;q=60" alt="config-check.PNG" width="600" height="400" loading="lazy">
<em>Checking your configuration</em></p>
<h2 id="heading-initializing-your-repository">Initializing your Repository</h2>
<p>Now you'll want to tell Git "Look, this is the folder/directory where I want Git to work in right now."</p>
<p>To initialize a repository, make sure you're in the directory that you're working on. In my case here, it's the <code>babysteps2git</code> folder.</p>
<p>Then type in <strong><code>git init</code></strong> and hit enter.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574193711528/CZEQRxsxZ.png?auto=format&amp;q=60" alt="init.PNG" width="600" height="400" loading="lazy"></p>
<h2 id="heading-making-your-first-commit-in-git">Making Your First Commit in Git</h2>
<p>Committing in Git is the equivalent of saving when working on documents. It's a way of saving your changes to the repository and store them with a unique ID and a message. </p>
<p>The ID and message can be used to trace back to the version of the project you need to check on. This is one of the differences between <code>git commit</code>  and <code>save as</code>.</p>
<p>Before you can make a commit, you have to stage your work. Staging is a way of telling the system, "Hey, I've made a whole lot of changes to my work, but this one, that one, and this other one are the ones I want to save."</p>
<p>So when you want to add changes, do this: <strong><code>git add name-of-files</code></strong>.</p>
<p>If you want to add all the files you've made changes to, type in <strong><code>git add .</code></strong> instead. Just make sure you're <em>inside the project folder.</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574194576920/fFTBuELCZ.png?auto=format&amp;q=60" alt="add.PNG" width="600" height="400" loading="lazy">
<em>Staging and Committing files in Git</em></p>
<p>After adding/staging the files, you can now commit them.</p>
<p>You should commit your changes using short but detailed commit messages like the one shown above.</p>
<p>To view the status of your repository, and to know which branch you're on, which files were modified, which code is staged, not staged, or ready to be committed, just use the code:<strong><code>git status</code></strong>.</p>
<h2 id="heading-creating-branches-in-git">Creating Branches in Git</h2>
<p>Let's say you're working on different versions of a project or you're collaborating on a project with some friends or colleagues. It is important to have a branch called "master", which is the default branch for every repository that stores the original and modified code from the various contributors. </p>
<p>To collaborate or work on various versions of a project, we have to work from different branches.</p>
<p>By developing in branches, it’s not only possible to work on multiple versions of your code in parallel, but it also keeps the main master branch free from questionable code.</p>
<p>So, for our <code>babysteps2git</code> project, we can decide to have several branches, each housing a different version of the code. </p>
<p>To create a new branch in git, use the command, <strong><code>git branch nameOfBranch</code>.</strong></p>
<p>To check out (switch) to the new branch, use <strong><code>git checkout nameOfBranch</code>.</strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574194634663/028KNmurN.png?auto=format&amp;q=60" alt="branch.PNG" width="600" height="400" loading="lazy"></p>
<p>The above 2 commands can be done simultaneously using the command: <strong><code>git checkout -b nameOfBranch</code>.</strong></p>
<h2 id="heading-reverting-to-a-commit">Reverting to a Commit</h2>
<p>Here comes another very interesting thing about Git: the ability to revert changes you've made over time, something CTRL+Z cannot do.</p>
<p>While working with Git, you might want to go back to a particular state of your code, or even revert to an older version of your work. You can do this by reverting to the particular commit you want to get back to. </p>
<p>Each commit we make has a unique ID attached to it. To get this ID, you can type in <strong><code>git log</code></strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574197402147/-xapiNqvo.png?auto=format&amp;q=60" alt="gitlog.PNG" width="600" height="400" loading="lazy"></p>
<p>Alternatively, the output above can be logged in one line using <strong><code>git log --oneline</code></strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574194674292/fjAKxkK9p.png?auto=format&amp;q=60" alt="gitlogoneline.PNG" width="600" height="400" loading="lazy"></p>
<p>From the above, you can see the ID and commit messages for each of the commits.</p>
<p>To revert, type in <code>**git revert commit-ID**</code>.</p>
<p>This command reverts to the state of that code at the time of that commit.‌ </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1574194696800/Fzg8FK8ow.png?auto=format&amp;q=60" alt="gitrevert.PNG" width="600" height="400" loading="lazy"></p>
<h2 id="heading-creating-a-remote-repository">Creating a Remote Repository</h2>
<p>To create a remote repository, we'll open up our GitHub account and click on the <strong>New</strong> button (as a first time GitHub user you'll probably see a green <strong>Create Repository</strong> button on yours instead).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1575353701217/41qIRoebg.png?auto=format&amp;q=60" alt="createnew-repo.PNG" width="600" height="400" loading="lazy"></p>
<p>Whichever way you do it, it'll take you to the page where you enter the name of your repository and a description of your project. </p>
<p>It also gives you the option to make your repository private or public.‌‌ You could also initialize your repository with a <code>read me</code> by ticking the read me check box.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1575353777927/z8ark3A7B.png?auto=format&amp;q=60" alt="createnew-repo2.PNG" width="600" height="400" loading="lazy"></p>
<p>### </p>
<p>When you click on create, a new repository would be created with a unique URL.</p>
<h2 id="heading-syncing-your-remote-repository-to-your-local-repository">Syncing your remote repository to your local repository</h2>
<p>Now that we've created our remote repository, we have to sync it with our local repository so they both can seamlessly communicate.</p>
<p>‌‌Open up your git bash, navigate to the folder you're working on, and enter the following code: <strong><code>git remote add origin url</code></strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1575353820397/u4y4X2V-8.png?auto=format&amp;q=60" alt="gitremote.PNG" width="600" height="400" loading="lazy"></p>
<h2 id="heading-updating-your-git-repository-remote-and-local">Updating your git repository (remote and local)</h2>
<p>Let's go ahead and add some code to our HTML file:</p>
<pre><code class="lang-js">&lt;html lang=<span class="hljs-string">"en"</span>&gt; 
    &lt;head&gt;     
    &lt;meta charset="UTF-8"&gt;     
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge&gt;
    &lt;title&gt;Document&lt;/title&gt; &lt;/head&gt; 
        &lt;body&gt;         
            &lt;label for="inputEmail" class="sr-only"&gt;Email Address&lt;/label&gt;     
            &lt;input type="email" class="form-control" id="inputEmail" placeholder="Password"&gt; 
        &lt;/body&gt; 
&lt;/html&gt;
</code></pre>
<p>‌Let's repeat the process of staging and committing our changes:</p>
<p><code>git add index.html</code>‌‌<code>git commit -m "added a form"</code></p>
<p>‌‌As it is, our local repository is currently a commit ahead of the remote repository. </p>
<p>To update the remote repository, we'll have to push our work from the local repository to the remote repository using the code: <code>git push origin master</code>.‌‌ "master" is the default branch for every repository and most times houses the main project code.‌ </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1575354026303/3vWLFFLe1.png?auto=format&amp;q=60" alt="git-push.PNG" width="600" height="400" loading="lazy"></p>
<p>You can also choose to create a new branch if, for example, you made a new feature but you are worried about making changes to the main project (master branch).‌‌</p>
<p>Just type in <code>git branch branchName</code> to create a new branch, and use <code>git checkout branchName</code> to switch to the new branch.</p>
<p>‌‌You can always use <code>git branch</code> to confirm the branches in this repository. The branch name with asterisks next to it indicates which branch you're pointed to at a given time.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1575354567055/qm7NuZzkO.png?auto=format&amp;q=60" alt="gitbranch.PNG" width="600" height="400" loading="lazy"></p>
<p>You can also push changes from your new branch to your remote repository with <code>git push origin branchName</code>.</p>
<p>When you push to the remote repository, GitHub will automatically create the branch for you on your remote repository. This allows people to see the changes you've made.</p>
<p>‌‌You might also want to update the main project branch (master branch) with the contents of the remote new branch. </p>
<p>You can do this by switching to the master branch and running <code>git pull origin newBranch</code>.‌‌ This updates the master branch with all the changes implemented on the  new branch.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1575355770131/DpOZB3-9u.png?auto=format&amp;q=60" alt="pull.PNG" width="600" height="400" loading="lazy"></p>
<h2 id="heading-what-does-origin-mean">What does "origin" mean?</h2>
<p>‌‌Origin is a shorthand name for the remote repository that a project was originally cloned from. More precisely, it is used instead of that original repository's URL, and makes referencing it easier.‌‌</p>
<p>So to push your changes to the remote repository, you can use either of the following commands:  <code>git push origin nameOfBranch</code> or <code>git push https://github.com/username/reponame.git nameOfBranch</code>‌‌.</p>
<p>Note that you could be prompted to enter your username and password. Your password won't show as you're entering it. Just type it in correctly and hit enter.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>We've just looked at a step by step guide to using Git for the first time. Feel free to reference it whenever you get stuck. </p>
<p>You don't have to <em>commit</em> the commands to memory – you'll be able to remember them with time. :)</p>
<p>‌‌That's all for now!</p>
<p>I hope you enjoyed this article. You can follow me on <a target="_blank" href="https://twitter.com/msamarachukwu">Twitter</a>. </p>
<p>‌‌</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
