Skip to content

EvanMisshula/gitLab1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Github Tutorial for CS275

Introduction

This is the repo for CSCI 275 Fall 2019, you have to add a directory and upload two files, the first is a picture of your face and the second is a file called origin.org that says where you are from.

This is the README file for the repo. Everyone is going to create a fork of this repository and create a directory whose name is

mkdir firstName_lastName

where your last name is separated from your first with an underscore “_”. For example, my name is Evan Misshula. My directory would be:

mkdir Evan_Misshula

Once you have done this copy a picture of your face into the directory. After that, you will create a file called origin.org that has what neighborhood you live in and zip code.

Next you will send me a pull request from your branch to add it to the repo.

Read on for details.

Install git on your VM

To install git type:

sudo apt-get install git

Then check that it has been installed with

git --version

Your results should be:

Set up your github account

Set up the github account. The next thing you should do is fork the repository. That means that you create your own copy of the repository in your github account.

images/fork.png

You don’t edit anything on github. Github stores your backup. In order to edit your repo you have to copy it to your machine. This requires you to download the git program to your local machine. You will then need to install it. There are several ways to do this.

The filesystem

Your documents are in:

/home/<your name>/Documents

In the terminal type:

cd Documents

To check where you are type:

pwd

This returns the present working directory.

Set global git variables

Tell Git your name so your commits will be properly labeled. Type everything after the $ here:

git config --global user.name "Your Name"

Tell Git the email address that will be associated with your Git commits. The email you specify should be the same one you used to sign up for GitHub.

git config --global user.email "YOUR EMAIL ADDRESS"

You can edit this by using emacs:

emacs ~/.gitconfig

Clone the repository from your github account to your local machine

Now go back to your browser and open up the repo that you forked. On the right side of the page near the top, there is a box under settings. BE CAREFUL This is tricky. In that box is the URL of your fork. Here is a picture.

images/url.png

Make sure the protocol is set to https. The others require you to set up ssh keys which are worth a whole tutorial to themselves. Now that you know what you are looking for. Copy it to the clipboard by left-clicking the button. You clone it by typing:

git clone [email protected]:<your_github_username>/gitLab1.git

Now you have your own copy of the repo both on your machine and in your github account. If you want to work with the files in the gitLab1 directory, you should change into that directory. To do this you should type:

cd gitLab1

In Emacs, you can look at any of the files. You can also list the files by typing either ls -lhaF.

Master vs. branch

You actually have a copy of the master on your machine. When you add something for the first time, you should not add to the master you should make changes to your own branch. Usually the branch name is the topic. In this case use your first name. Type:

git branch <first_name>

We can see all of the branches by typing:

git branch

The star means that we are still on the master branch.

Switch branches

Now we are going to begin constructing the changes we want incorporated into the main project. In the last section we made a branch now we are going to start to change it. To switch to your branch, type:

git checkout <first_name>

Create a directory

If you listed the files in the gitTutorial directory, you should see that there is a directory called students. You should change directories into it by typing:

cd students/

or

cd students/

Create a directory with your first and last name from the command line:

mkdir <firstName_LastName>

Copy your picture into that directory

You can use the command line or a gui to copy your picture into the directory you just created.

Add your picture to your branch

Make sure your image file is called your firstName_lastName.jpg or firstName_lastName.png. For example, my photo would be Evan_Misshula.jpg.

Next add your picture to your branch. You will do this by adding your image file to your branch by typing:

git add firstName_lastName.jpg

Commit your local changes

You should save or commit your changes with a message. Type the following:

git commit -m "adds my (Evan Misshula) picture."

To update your copy on github you have to push your changes which are in your firstName branch. Before I show you how to do that, let’s make sure no one else has pushed changes that will cause a conflict with our changes.

See everyone’s changes

Configure an upstream master

Git does not automatically know where you want to pull from. To see where git is pulling from, type:

git remote -v

The “-v” is a common command line flag for verbose. Because you forked both the (fetch) where you pull from and where you push to (push) are the same. Now specify a new upstream repository that will be synced by the fork.

git remote add upstream https://github.com/EvanMisshula/gitLab1.git

Sync the fork

To see everyone’s accepted changes to the master, you have to pull from the upstream master. This requires a fetch command. Make sure that you have commited your changes. Type:

git fetch upstream

You have now pulled the changes from my branch to your local machine and onto your firstName branch. The next step is to merge it into your firstName branch.

git merge upstream/firstName

You will want to save those to your github account as well. So to finish, type:

git push origin firstName

Pull request

If you refresh your github page you will see that the repository now has two braches. Switch to the firstName branch and send a pull request.

About

Intro to Git for Intro to Linux CS 275

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published