This document is an introduction to Git, covering objectives such as installation, creating repositories, and managing branches. It explains version control systems, specifically detailing the usage of Git for tracking changes, staging files, and conducting commits. Additionally, it outlines the process of creating a GitHub repository and pushing changes from a local repo to GitHub for collaboration purposes.
Objective • At theend of this session, you will be able to: • Install git • Create a local git repository • Add a file to the repo • Add a file to staging • Create a commit • Create a new branch • Create a GitHub repo • Push a branch to GitHub
• Version control also knownas revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information.
7.
• Version controlsystems (VCS) Version control systems are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database.
• Git Git isa free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Learn more about git here.
13.
• Prerequisites You willneed a GitHub account (it's free). Go to https://github.com/join and set up a GitHub account if you do not have one already.
• Install git Startby installing git on your instance. When you're working on your own projects, it is always a good idea to check for updates even if you already have git installed. You can install it as a package, via another installer, or download the source code and compile it yourself
• Create alocal git repository Now that git is installed, create a new repository (or repo for short) to hold your release notes. When you work on your own projects, you can create repositories in any directory you want. 1. Create a directory for your project with the mkdir (make directory) command:
20.
• Create alocal git repository Then open the directory with the cd (change directory) command.
21.
• Create alocal git repository Now, initialize your new git repository in the folder with the git init command: • Congratulations! You just initialized a git repository.
• Add afile to the repo Your repository is empty. It's time to put something in it! Add a new file to the project. You can use any text editor you like when you are working on your own projects, but for this lab, simply create a new file with the touch command. Replace <file name> with a name for your file:
24.
• Add afile to the repo Run the ls (list) command to verify that the file was created in your project directory:
25.
• Add afile to the repo Check to see which files git knows about with the git status command:
• Add afile to staging The next step is to add your file to the staging environment (sometimes referred to as the index). You must do this before you commit a file. When you're working, use the staging environment as just that - a staging ground - for actively editing your files.
30.
• Add afile to staging Run the git status command again • Notice the "Changes to be committed" line. You will see that git added your file to the staging environment, but the file has not yet been added to a commit.
• Create acommit A commit is a record of what files you have changed since the last commit. Commits allow you to go back to the state of the project at any point in history. You create a commit in order to add files to the Master.
35.
• Create acommit First you need to identify yourself, then you can create the commit. Run the following, filling in any email for "you@example.com":
36.
• Create acommit Run the following, filling in any name for "Your Name":
37.
• Create acommit Run the following git commit command. Your message should relate to what's in your commit - for posterity:
• Create anew branch Since you're on the master branch already, run the git checkout -b command and name your branch. The command will: Automatically create a new branch, using the name you specify Immediately check the branch out to you Move you to the new branch
• Create aGitHub repo If you're the sole owner of your project, you don't need to use GitHub. But if you're on a team, you can use GitHub to collaborate without stepping on each others' toes. To create a new repo on GitHub, go to github.com and log in. Click New repository:
46.
• Create a GitHub repo •GitHub will ask you for some basic info about your repo. Fill out the form, then click Create repository. • GitHub will ask you if you want to start from scratch or add a local project. Since you just created a new repo, you want to push that to GitHub. Follow the "...or push an existing repository from the command line" section. Click the clipboard to copy the commands.
47.
• Create aGitHub repo Return to your SSH window and run the commands you copied from GitHub.
48.
• Create aGitHub repo Note You will be prompted to log in. Use your GitHub credentials. • The first command adds the local repository to your GitHub repository. • The second command pushes your local repo to GitHub.
• Push abranch to GitHub Pushing the commit in your branch to your new GitHub repo allows other people to see the changes you've made (think code review). The repository's owner can review changes prior to merging to the master branch. Run the following command to push changes onto a new branch on GitHub, replacing branch name with a name of your branch. Does GitHub automatically create the branch for you on the remote repository?
• Push abranch to GitHub In GitHub, click on the Code tab. You should now see the branch name you just pushed. Click the Compare & pull request button that is next to your branch name. You'll now see the name of your commit. In a production environment you could leave a comment about this commit. For this lab click Create pull request. GitHub verifies that the files you are adding aren't in conflict with the Master copy. If everthing checks out, and it should since these are new files, you will see a green check mark. Click Merge pull request, then Confirm merge. You'll see a "Pull request successfully merged and closed" message. At this point you can click Delete branch to clean up. You don't have to do this, but you may end up with a mess if you have too many branches. Notice that you'll have another chance to leave comments.