We hire people from many different backgrounds and login to github from terminal new employee brings a different level of comfort with the specific tools we use on our various projects. The team that runs the 18F website recently started writing down the tools and processes that we use to update the blog and the code that runs the site. Because some of the people we hire have never used these tools before, this guide assumes you have no login to github from terminal knowledge of them either. For example, there are apps for using Git like and or ; dozens of different text editors; and competitors to GitHub likeor. You might explore those on your own. If you have an alternative way of doing any of these steps — or have ways to make this more efficient — please let us know by posting an issue. These instructions are primarily for Macs, but most of the instructions will work the same on a Linux computer. If you are working on Windows, we suggest checking out that was posted to GitHub that details how to make these instructions work for Windows machines. Turn your Mac into a web development machine Using Linux. You can skip this section. Our colleague wrote which turns your Mac into a web development machine in about 15 minutes. Just type it in and press enter. Or follow along with this he prepared with step by step instructions to turn your Mac into a web development machine. This sets up all of the software you need in order to manage the languages we use at 18F. For a full list of programs, click. Getting started With GitHub and the Terminal Terminal is a program that lets you send commands to your computer, and the text you pasted above is an example of how those commands work. Type the commands exactly as you see them here or copy and paste them into your Terminal and always press return at the end. Directory is another word for folder. Directories are specific locations for files on your computer, and the Terminal always takes commands starting from a directory. If you type ls -1 it will list them all in a single column for you. This is called your home directory and you can always get here by typing cd ~. I like to put all my GitHub projects in the same directory. Go to and sign in with your username and password. Now we can start working with the website. If our program was a five paragraph essay, Git allows Corey to edit the introduction on one computer while Jesse edits the conclusion somewhere else. When both are done, they can move their edits into one copy while preserving the changes from each person. In software development, Git and other version control tools are helpful when looking for the origin of a bug. That tells you the specific edit to search for the mistake. GitHub is a website that shows information from Git. For example, shows a spelling edit to this post by Melody. Once you have a project cloned, you can make changes on your computer without affecting the project as it exists on GitHub. In this step we are going to clone the 18f. You can fork this repo by visiting:. This is now copying the 18f. If you run into an error here and have run the Laptop script, you need to open and register your GitHub desktop application. Just open GitHub desktop and it will guide you as a first time user. You can follow the instructions that are located. You only have to do login to github from terminal once. You will have to do this on every computer you have. So, if you plan to work on these projects on a separate computer, you will need to do this process again. On this page you will see a list of files and folders in this project. Branches are little sandboxes for other people working on the project to prepare contributions without interfering with the main project. Usually we issue pull requests to the default branch. The default branch on 18f. On the right side, you can also see a list of the existing pull requests and issues. All of the pull requests go to the staging branch. The last thing it does is build the site out for you. You should only need to do this once. If you want to just build the site, type. You can copy and paste that directly into a browser to double-check. You only have to run the laptop script once. You only have to clone the repo once. And you only need to run. Just wanted to keep your morale high. We usebut there are other options like orbut we do not recommend TextEdit or a word processor. You can now see all of the files that make up the site. It should look like this. We now want to create a branch, or a login to github from terminal where you can make changes to the website. On this team we always work on branches. The command git checkout tells git to work on a different branch. The -b tells it to create the branch if it does not exist yet. You can switch branches by typing git checkout branch-name. Try switching back and forth between the branch you just created and staging to see how this works. This is metadata for the blog post: extra information Jekyll uses to build parts of the website. It includes things like the title, authors, description, and date. We're going to introduce you to both GitHub and using the command line through a guided exercise. Today you'll learn how to make a blog post on the 18F blog. We're going to introduce you to both GitHub and using the command line through a guided exercise. Today you'll learn how to make a blog post on the 18F blog. And now you can start writing the text of your blog post on line login to github from terminal. Git has four stages that a file can be in: untracked, modified, staged, and committed. Make sure to type in your actual filename if it has a different date. This moves the file from untracked to staged. You just told git to remember the changes you made to this file. So you could work on other things that need to be committed, or you could commit this file right now. You should see nothing to commit, working directory clean. We are including them here so you can see what happens when we push the file up to GitHub. The instructions, as they are written here, will work for any repo you own or any of your forks. This uploads your branch and changes to the 18f. This asks 18F to accept your contribution. Your computer is downloading only the changes between your computer and GitHub. Whenever you run git pull you ask GitHub to download the most recent changes. If you get the first message it means nothing has changed since the last time you worked on it. If you get the second, it means someone from the 18F team merged another pull request. Once you are all up to date, always remember to create a new branch before making any new changes. Moncef Belyamani contributed significantly to this post, helping us shape it and find our mistakes. So we came up with a way to catch many of those errors, before they end up in your browser. Because our teams are distributed, we've developed certain strategies for working well as a collaborative operation.