• Stars
    star
    148
  • Rank 249,983 (Top 5 %)
  • Language
  • Created about 11 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Just a basic repository for learning git.

Project Summary

Practice using git + Github

This project will consist of three separate mini-projects to get you comfortable with the kinds of activities you'll be using git for throughout the class.

In the first mini-project, you'll be mimicking the steps you'll take when you first start your personal project. Creating a repository, linking it to your computer, then pushing those changes up to your GitHub.

In the second mini-project, you'll be mimicking the steps you'll take with nearly every DevMountain project you do. You'll 'fork' the DevMountain repository, link your computer with your fork, then push those changes up to your GitHub.

Finally, in the last mini-project you'll be mimicking the steps you'll take during the group project portion. You'll fork your group's repo, link your computer with your fork, push changes to your GitHub, then make a 'Pull Request' into your group's repo.

Mini-Project 1: Personal Project

Step 1

Summary

In this step we will create a repository on GitHUB.

Instructions

  • Go to GitHub.
  • Sign in to GitHub.
  • On the right side of the page, click on the green New repository button.
  • Give your repository any name you like and make sure that the repository is public.
  • Also make sure that the Initialize this repository with a README is NOT checked.

Step 2

Summary

In this step we will setup the origin for the repository. We'll do this by connecting code on our computer to the GitHub repository we just created.

Instructions

  • Create a folder called myProject.
  • Go into that folder.
  • Create a file called myName.js and add your name to that file.
  • Save the file and open a terminal window.
  • In your terminal window, cd to your myProject folder. O
  • Run git init.
    • What just happened?

      You've just told your computer that you want git to watch the myProject folder and to keep track of any changes. This also allows us to run git commands inside of the folder. (Warning: Be very careful to make sure you're in the right directory when you run git init!)

  • Run git remote add origin [Repository URL goes here]. You can get your URL from going to repository you made earlier in your browser and copying the address.
    • What just happened?

      Basically, we tell our computer "Hey, I created this repo on GitHub, so when I push, I want my code to go to this GitHub repo." Now whenever you run git push origin master your computer knows that origin is pointing to your repo you made on GitHub and it pushes your changes there.


      ( If you accidentally DID initialize your repository with a README, you must do a git pull origin master first - to get the README file on your computer - before you'll be able to push. )

Step 3: Push your code to GitHub

Summary

In this step, we will push code to GitHub.

Instructions

  • Open a terminal window and make sure it is in the directory of myProject.
  • Run git status.
    • What does this do?

      This will show what files have been changed. This also helps us determine what files we want to add to GitHub and what files we don't want to add to GitHub.

  • Run git diff.
    • What does this do?

      This will show the actual code that has been changed. Again, we want to make sure we don't push anything to GitHub that shouldn't be there.

  • Run git add nameOfMyFile.fileExtension.
    • What does this do?

      This adds our file(s) to the 'staging area'. This is basically a fail safe if you accidentially add something you don't want. You can view items that our staged by running git status.

  • Run git commit -m "The sentence I want associated with this commit message".
    • What does this do?

      This tells your computer: 'Hey, the next time code is pushed to GitHub, take all of this code with it.' The message also specifies what GitHub will display in relation to this commit.

  • Run git push origin master
    • What does this do?

      Your code is now pushed to GitHub. Be sure to include origin master, as this tells GitHub which branch you want to push to, and creates the branch if it doesn't exist yet.

  • Go to your repository on GitHub and see your updates.

Mini-Project 2: DevMountain Project

Step 1

Summary

In this step, we will fork this tutorial repository.

Instructions

  • On this current GitHub repository, scroll to the top and look for a button that says fork.
  • Click the fork button.
    • What does this do?

      This will essentially copy all of the code from this repository, but make it as a new repository under your account. As you can imagine, you can't push directly to the DevMountain repo, because that would not be secure for DevMountain (anyone could make any changes they want). What you should do is create a fork of this repo, then push to your own fork because it's under your own account.

Step 2

Summary

In this step, we will take the forked repository and clone it down to our machine.

Instructions

  • Go to your forked repository on GitHub. It should appear under Your repositories which is next to the New repository button.
  • Click on the green clone or download button and copy the URL.
  • Open a terminal window and navigate to your Desktop.
  • Run git clone [the url you copied].
    • What does this do?

      This takes what's on GitHub and essentially downloads it so you can now make changes to it on your local computer.

Step 3

Summary

In this step, we will make changes to our clone and push them to GitHub.

Instructions

  • Open the folder in your coding IDE.
  • Make a change in a file.
  • Run through the steps outlined in Step 3 of the first project ( status, diff, add, commit, push ).
    • Since you've cloned this repository, it is already pointing to your forked version. Therefore, you don't need to tell your computer where to push the code.

Mini-Project 3: Group Project

Step 1

Summary

To help this process stick in memory we are going to repeat the process of the second project. We'll delete our current fork on our machine and restart the process.

Instructions

  • Delete the folder on your Desktop that is the forked repository.
  • Re-clone the fork to your desktop.
  • Make a change to any file.
  • Run through the process of pushing to GitHub ( status, diff, add, commit, push ).

Step 2

Summary

Here is where things start to get different. Let's imagine we're working in groups. If we have everyone pushing to one repo without verifying the quality of the code, things can get messy pretty quick. GitHub fixed this solution with 'Pull Requests.' Basically, you fork a project, make changes to your fork, then you make a Pull Request (PR) back into the original project requesting that some piece of code be added to the original repo. This is how the vast majority of open source code projects work. In this step, we will make a pull-request.

Instructions

  • Go to your forked repo on GitHub.
  • Locate the button that says Pull Request and click it.
  • Locate the green button that says New pull request and click it.
    • You should now see the file changes you've made and how they differ from the original repo.
  • Click on the Create pull request button to submit your PR.
  • Now if you navigate to the original repository and take a look at the Pull Requests yours should be there.

Contributions

If you see a problem or a typo, please fork, make the necessary changes, and create a pull request so we can review your changes and merge them into the master repo and branch.

Copyright

© DevMountain LLC, 2017. Unauthorized use and/or duplication of this material without express and written permission from DevMountain, LLC is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to DevMountain with appropriate and specific direction to the original content.

More Repositories

1

Hosting-Digital-Ocean

99
star
2

deployment-digitalocean

reminder steps for deploying a Node.js app w/ Digital Ocean
91
star
3

HTML-CSS-Practice-Problems

CSS
80
star
4

ft-syllabus

39
star
5

twitter-clone

This is the start environment for the Twitter clone project
HTML
27
star
6

ecommerce

eCommerce project for learning MongoDB/mongoose
25
star
7

react-drills

JavaScript
24
star
8

sql-1-afternoon

An afternoon project to help solidify basic SQL queries.
23
star
9

react-3-mini

A mini project to introduce how to use axios in a React project. This also should help students understand full CRUD.
JavaScript
22
star
10

web-curriculum-v3

3rd Revision of Devmountain Web Program Curriculum
JavaScript
21
star
11

javascript-1-afternoon

An afternoon project to help students solidify the fundamentals.
JavaScript
21
star
12

debugging-exercises

Some exercises to practice debugging Javascript using tools such as the Developer Tools Console and breakpoints
HTML
17
star
13

soundCloud-api

15
star
14

ios-guided-projects

Swift
14
star
15

itunes

JavaScript
14
star
16

Timeline

Timeline is a simple photo sharing service. Students will bring in many concepts that they have learned, and add more complex data modeling, Image Picker, CloudKit, and protocol-oriented programming to make a Capstone Level project spanning multiple days and concepts.
Swift
12
star
17

html-layout

CSS
11
star
18

unit-testing-afternoon

An afternoon project to help solidify how to test JavaScript files using Jest.
JavaScript
11
star
19

javascript-2-afternoon-3

An afternoon project to help students solidify Callbacks.
JavaScript
11
star
20

Timeline-Firebase

Timeline is a simple photo sharing service. Students will bring in many concepts that they have learned, and add complex data modeling, Image Picker, Collection Views, NSURLSession, Firebase, and protocol-oriented programming to make a Capstone Level project spanning many days and concepts.
Objective-C
10
star
21

JavaScript-Review

JavaScript
9
star
22

react-assessment

All three react-assessments
9
star
23

Journal2020

Students will build a simple Journal app to practice MVC separation, protocols, master-detail interfaces, table views, and persistence.
Swift
9
star
24

personal-api

Start of the Personal API Project
9
star
25

JS-Closures

Afternoon project for practicing JavaScript Closures
JavaScript
8
star
26

Weather

A Swift, iOS app to get the current weather in a user-requested city to practice asyncronous network requests, working with JSON data, and closures.
Swift
8
star
27

sql-1-mini

A mini project to introduce basic SQL queries.
8
star
28

react-2-afternoon

A React afternoon project to help students solidify this, bind, state, and props.
JavaScript
8
star
29

intermediate-javascript-assessment

JavaScript
7
star
30

morning_toy_problems

7
star
31

Hosting-React-Zeit

JavaScript
7
star
32

ios-code-review-checklist

7
star
33

chatroom

JavaScript
7
star
34

react-axios

React 4 - Afternoon
JavaScript
7
star
35

react-2-mini

A React mini project to help students solidify this, bind, state, and props.
JavaScript
7
star
36

react-5-mini

A mini project to introduce how to use Redux in a react application.
JavaScript
6
star
37

SolarSystem

Students will work with table views, learn about protocols, and implement the UITableViewDataSource and UITableViewDelegate protocols to build .
Swift
6
star
38

Recipe-App

An iOS app that displays some favorite recipes from Recipe.com
Objective-C
6
star
39

CountryRest

An iOS app that uses the free restcountries.eu api.
Objective-C
6
star
40

node-2-afternoon

A node afternoon project to help solidify basic node concepts. Also covers full CRUD.
JavaScript
6
star
41

react-3-afternoon

An afternoon project to help solidify how to use axios in a react project. This also should help students understand full CRUD.
JavaScript
6
star
42

endpoint-testing-afternoon

An afternoon project to help solidify testing endpoints using Postman.
JavaScript
6
star
43

sql-2-afternoon

A sql afternoon project to solidify using more intermediate queries.
6
star
44

react-intro-class

React 1 - Mini - Class
5
star
45

quoteBook

5
star
46

web-command-cheat-sheet

JavaScript
5
star
47

js-drills

5
star
48

assessment-prep

Before you take an assessment, read up here and make sure that you understand all the concepts listed for that particular assessment
JavaScript
5
star
49

pt-syllabus

5
star
50

angular-drills

JavaScript
5
star
51

sql-2-mini

A sql mini project to introduce more intermediate queries.
5
star
52

react-friends-CRA

JavaScript
5
star
53

javascript-basic-assessment

Basic Javascript Assessment for DevMountain
JavaScript
5
star
54

Time-Tracker

An iOS app with time tracking
Objective-C
5
star
55

learn-ios

A bunch of great free and paid resources for learning iOS development.
5
star
56

The-Pomodoro-Old

An iOS pomodoro timer app including history.
Objective-C
5
star
57

javascript-2-afternoon

An afternoon project to help students solidify Objects.
JavaScript
5
star
58

react-1-afternoon

An afternoon project that introduces students to React.
CSS
5
star
59

Calculator

A reverse polish notation calculator that demonstrates auto layout, stacks, target-actions on UIButtons
Swift
5
star
60

javascript-2-afternoon-2

An afternoon project to help students solidify Arrays.
JavaScript
4
star
61

OnTheLine-Objc

A simple photo sharing app that uses CloudKit.
Objective-C
4
star
62

react-1-mini

A mini project that introduces students to React.
4
star
63

redux-drills

JavaScript
4
star
64

FacebookViewer

A mini-project to practice Passport/Node.js
4
star
65

node-3-mini

A node mini project to introduce connecting to a database in a node project.
JavaScript
4
star
66

GitHub-Standard

A living guide on how our projects should be structured at DevMountain.
4
star
67

Score-Keeper

A simple iOS app with a single scroll view with score fields and stepper buttons.
Objective-C
4
star
68

simulation-2

4
star
69

the-keyword-this

JavaScript
4
star
70

javascript-3-afternoon

An afternoon project to help students solidify a variety of JavaScript concepts. Specifically classes, destructuring, for-in loops and delete, higher order methods, and nesting.
JavaScript
4
star
71

react-animations-mini

A mini project to introduce how to use the react-motion library for animations in a React project.
JavaScript
4
star
72

node-4-afternoon

An afternoon project to help solidify using sessions in a node project.
JavaScript
4
star
73

web-curriculum-v4

JavaScript
4
star
74

TextSupport

A project for creating a text support portal for Twilio/Angular.
4
star
75

Weather-Playground

An app that uses open weather map data and provides a background for a designed weather app
Objective-C
4
star
76

Task-CoreData2020

Students will build a simple task tracking app to practice project planning, progress tracking, MVC separation, intermediate table view features, and Core Data.
Swift
4
star
77

Day-IX

A simple iOS app that acts as a journal with persistent store
Objective-C
4
star
78

node-drills

JavaScript
3
star
79

ios-app-canvas

Modeled after the Lean Canvas for building startups, we use an App Canvas for project planning and implementation. This is the iOS version of DevMountain's App Canvas.
3
star
80

Host-Helper

HTML
3
star
81

auth-lesson-auth0

CSS
3
star
82

simulation-restaurant

Simulation design docs for a restaurant
3
star
83

Alarm

3
star
84

node-bcrypt-afternoon

JavaScript
3
star
85

RTFM

A project start for practicing using Firebase with AngularJS.
3
star
86

FavoriteThings-Swift

A simple iOS app that displays a list of favorite things in a table view.
Swift
3
star
87

Timer

Swift
3
star
88

node-3-afternoon

A node afternoon project to solidify connecting to a database in a node project.
3
star
89

Loan-Calculator

Mini Project that uses the full stack.
HTML
3
star
90

node-auth-afternoon

Node Auth 1 - Afternoon
JavaScript
3
star
91

react-4-mini

A React mini project to introduce routing concepts.
JavaScript
3
star
92

BlockHead

An app with block syntax examples in the view controller
Objective-C
3
star
93

Design-Challenge

This challenge will give you a chance to see what you'll be in for in the UI/UX design class at DevMountain. It also helps us to ascertain your aptitude for the class.
3
star
94

chatty

The start of the messaging client for DevMountain
CSS
3
star
95

Recipe-App-Swift

An iOS app that displays some favorite recipes from Recipe.com
Swift
3
star
96

dev-housing

Dev Mountain housing web-app.
JavaScript
3
star
97

web-debugging-challenges

JavaScript
2
star
98

broken-site

A nightwatch tutorial
HTML
2
star
99

redux-1-mini

JavaScript
2
star
100

AGoodStart

The very first project for iOS pre-course.
Objective-C
2
star