Difference between revisions of "DPS909 & OSD600 Winter 2017"

From CDOT Wiki
Jump to: navigation, search
(Week 4)
(Week 4)
Line 64: Line 64:
  
 
* Working with git Branches
 
* Working with git Branches
** creating, updating
+
** Lightweight, movable, reference (or pointer) to a commit
 +
** Series of commits: a branch is the furthest tip of a line of commits
 +
** It is always safe to branch, it won't change the code in any way
 +
** Relationship of <code>git commit</code> with branches
 +
*** commit SHA, <code>HEAD</code>, branch
 +
*** <code>master</code> branch vs. "Topic Branches": '''all work happens on a new branch'''
 +
** creating, switching between, updating
 +
*** <code>git branch <branch name></code>: <code>-d</code> (maybe delete), <code>-D</code> (force delete), <code>-m</code> (rename), <code>-a</code> (list all)
 +
*** <code>git checkout <branch name></code>
 +
*** <code>git checkout -b <branch name> [<base commit> | HEAD]</code>(create if doesn't exist, checkout new branch)
 +
*** <code>git checkout -B <branch name> [<base commit> | HEAD]</code> (create or reset, checkout new branch)
 
** local vs. remote, tracking branches
 
** local vs. remote, tracking branches
 +
** common workflow
 +
*** <code>git checkout master</code> - switch to master branch
 +
*** <code>git pull upstream master</code> - pull in any new commits from the upstream/master branch
 +
*** <code>git checkout -b issue-1234</code> - create a topic branch for your work, named with bug #
 +
*** <code>git add files</code> - edit files, add to staging area
 +
*** <code>git commit -m "Fix #1234: ..."</code> - commit changes, referencing bug # in commit message
 +
*** <code>git push origin issue-1234</code> - push your topic branch (and all commits) to your origin repo
 +
*** create pull request
 
** merging
 
** merging
 +
*** recall that <code>git pull</code> does a <code>git fetch</code> and <code>git merge</code> in one step
 
** rebasing
 
** rebasing
 
** gh-pages
 
** gh-pages

Revision as of 12:38, 30 January 2017

Resources for DPS909 & OSD600

Week 1

  • Course introduction
  • Some questions:
    • What was the first video game you ever played?
    • What are your main technical strengths, which technologies do you know well and enjoy?
    • Which (new) technologies are you excited to learn and try?
    • When you hear "open source," what comes to mind?
    • Do you have any hesitation, fears, or anxieties about working in open source projects?
  • How to have Success in this course:
    • Willingness to be lost and not panic
    • Willingness to put yourself out there, jump in
    • Curiosity
    • Being driven, persistence
    • Willingness to ask for help
    • Willingness to give others help
    • Independent learning
    • Doing more than the bare minimum

Week 2

Week 3

Week 4

  • Working with git Branches
    • Lightweight, movable, reference (or pointer) to a commit
    • Series of commits: a branch is the furthest tip of a line of commits
    • It is always safe to branch, it won't change the code in any way
    • Relationship of git commit with branches
      • commit SHA, HEAD, branch
      • master branch vs. "Topic Branches": all work happens on a new branch
    • creating, switching between, updating
      • git branch <branch name>: -d (maybe delete), -D (force delete), -m (rename), -a (list all)
      • git checkout <branch name>
      • git checkout -b <branch name> [<base commit> | HEAD](create if doesn't exist, checkout new branch)
      • git checkout -B <branch name> [<base commit> | HEAD] (create or reset, checkout new branch)
    • local vs. remote, tracking branches
    • common workflow
      • git checkout master - switch to master branch
      • git pull upstream master - pull in any new commits from the upstream/master branch
      • git checkout -b issue-1234 - create a topic branch for your work, named with bug #
      • git add files - edit files, add to staging area
      • git commit -m "Fix #1234: ..." - commit changes, referencing bug # in commit message
      • git push origin issue-1234 - push your topic branch (and all commits) to your origin repo
      • create pull request
    • merging
      • recall that git pull does a git fetch and git merge in one step
    • rebasing
    • gh-pages
  • Git Walkthrough #3 - Branches