196
! GOTTA GROK GIT All Things Open October 22, 2014

Version Control and Git - GitHub Workshop

Embed Size (px)

Citation preview

Page 1: Version Control and Git - GitHub Workshop

!

GOTTA GROK GITAll Things Open

October 22, 2014

Page 2: Version Control and Git - GitHub Workshop

!!

Page 3: Version Control and Git - GitHub Workshop

!

Tools, processes & communication.

Page 4: Version Control and Git - GitHub Workshop

!

How Do Committees Invent?

Melvin E. Conway

Copyright 1968, F. D. Thompson Publications, Inc.Reprinted by permission of

Datamation magazine, where it appeared April, 1968.

That kind of intellectual activity which creates a whole from its diverse parts may be called the design of a system. Whether the particular activity is the creation of specifications for a major weapon system, the formation of a recommendation to meet a social challenge, or the programming of a computer, the general activity is largely the same.

Typically, the objective of a design organization is the creation and assembly

Page 5: Version Control and Git - GitHub Workshop

!

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.

Melvin Conway

!

Page 6: Version Control and Git - GitHub Workshop

!1968

HOW TO COMMITTEES INVENT? – DATAMATION

!

Page 7: Version Control and Git - GitHub Workshop

!!

Page 8: Version Control and Git - GitHub Workshop

!

Tools define communication.

Page 9: Version Control and Git - GitHub Workshop

!

Communication define culture.

Page 10: Version Control and Git - GitHub Workshop

!

Tools define culture.

Page 11: Version Control and Git - GitHub Workshop

!

Chris KellyIN MEATSPACE

Page 12: Version Control and Git - GitHub Workshop

!

@amateurhumanON THE INTERNET

Page 13: Version Control and Git - GitHub Workshop

!

Page 14: Version Control and Git - GitHub Workshop

!

Page 15: Version Control and Git - GitHub Workshop

!!

Productivity with better Git and GitHub.

Page 16: Version Control and Git - GitHub Workshop

!!

git add .› git commit -m “blarg”›

Page 17: Version Control and Git - GitHub Workshop

!!

Git is source control.

Page 18: Version Control and Git - GitHub Workshop

!!

Git is communication.

Page 19: Version Control and Git - GitHub Workshop

!!

Git is a debugger.

Page 20: Version Control and Git - GitHub Workshop

!!

Git is an enforcer.

Page 21: Version Control and Git - GitHub Workshop

!!

Git is automation.

Page 22: Version Control and Git - GitHub Workshop

!

Git isn’t linear.

Page 23: Version Control and Git - GitHub Workshop

!

Git isn’t permanent.

Page 24: Version Control and Git - GitHub Workshop

!

Git isn’t GitHub.

Page 25: Version Control and Git - GitHub Workshop

!

Page 26: Version Control and Git - GitHub Workshop

!

Page 27: Version Control and Git - GitHub Workshop

!

Page 28: Version Control and Git - GitHub Workshop

!

Page 29: Version Control and Git - GitHub Workshop

!Going inside.

Page 30: Version Control and Git - GitHub Workshop

!

git init› Initialized empty Git repository in /Users/amateurhuman/Repos/sample/.git/

Page 31: Version Control and Git - GitHub Workshop

!

tree .git› .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │   ├── info │   └── pack └── refs ├── heads └── tags

Page 32: Version Control and Git - GitHub Workshop

!

echo ‘All Things Open' | \ git hash-object -w --stdin

69053dcce790795e81715f0189874eb444283a1a

Page 33: Version Control and Git - GitHub Workshop

!

tree .git› .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │   ├── 69 │   │   └── 053dcce790795e81715f0189874eb444283a1a │   ├── info │   └── pack └── refs ├── heads └── tags

Page 34: Version Control and Git - GitHub Workshop

!

git cat-file -p 69053dcce7› All Things Open

Page 35: Version Control and Git - GitHub Workshop

!

echo "MIT License" > LICENSE› git hash-object -w LICENSE›

d1e1072ee5e1d109c15b6fd18756aedc2a401840

Page 36: Version Control and Git - GitHub Workshop

!

git cat-file -t d1e1072ee5› blob

Page 37: Version Control and Git - GitHub Workshop

!

git update-index --add \ --cacheinfo 100644 \ d1e1072ee5e1d109c15b6fd18756aedc2a401 LICENSE

Page 38: Version Control and Git - GitHub Workshop

!

git write-tree› 1e64e3ebbaf64bd48a0e4dfb90aec69b0f32e90d

Page 39: Version Control and Git - GitHub Workshop

!

git cat-file -p \ 1e64e3ebbaf64bd48a0e4dfb90aec69b0f32

› 100644 blob d1e1072ee5e1d109c15b6fd18756aedc2a401840 LICENSE

Page 40: Version Control and Git - GitHub Workshop

!

echo “Apache v2" > LICENSE› git update-index LICENSE›

› git update-index --add source.c

Page 41: Version Control and Git - GitHub Workshop

!

git write-tree› 9b1fb9441319be18f900a443db6898f43c69e577

Page 42: Version Control and Git - GitHub Workshop

!

git cat-file -p 9b1fb94413› 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

Page 43: Version Control and Git - GitHub Workshop

!

git cat-file -p 5c217fa6d7› Apache v2

Page 44: Version Control and Git - GitHub Workshop

!

echo "Initial commit" | \ git commit-tree 9b1fb9441319be18f900

› d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12

Page 45: Version Control and Git - GitHub Workshop

!

git update-index \ --add include/header.h

git write-tree› 6d189a0b90cb07212e7b7aee837c90fc7595a147

Page 46: Version Control and Git - GitHub Workshop

!

git cat-file -p 6d189a0b90› 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 040000 tree a2fe4c0988d4ad5b5637f09ab5874972328cb563 include 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

Page 47: Version Control and Git - GitHub Workshop

!

echo "Add header" | \ git commit-tree 6d189a \ -p d8a926

532d9258310ee0a4eefcbd52e152dbf0238d9e63

Page 48: Version Control and Git - GitHub Workshop

!

git log 532d92› commit 532d9258310ee0a4eefcbd52e152dbf0238d9e63 Author: Chris Kelly <[email protected]> Date: Wed Oct 12 01:25:30 2014 -0400

Add header

commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly <[email protected]> Date: Wed Oct 12 01:17:08 2014 -0400

Initial commit

Page 49: Version Control and Git - GitHub Workshop

!

git cat-file -p 532d9258310ee0a4eefcbd› tree 6d189a0b90cb07212e7b7aee837c90fc7595a147 parent d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 author Chris Kelly <[email protected]> 1413955530 -0400 committer Chris Kelly <[email protected]> 1413955530 -0400

Add header

Page 50: Version Control and Git - GitHub Workshop

!

git cat-file -p 6d189a0b90cb07212e7b7a› 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 040000 tree a2fe4c0988d4ad5b5637f09ab5874972328cb563 include 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

Page 51: Version Control and Git - GitHub Workshop

!

git cat-file -p a2fe4c0988d4ad5b5637f0› 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 header.h

Page 52: Version Control and Git - GitHub Workshop

!

git cat-file -p e69de29bb2d1d6434b8b29› /**********************************************************************

header.h -

$Author$ created at: Sun 10 12:06:15 Jun JST 2007

Copyright (C) 2007-2008 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_H #define RUBY_H 1

#define HAVE_RUBY_DEFINES_H 1 #define HAVE_RUBY_ENCODING_H 1 #define HAVE_RUBY_INTERN_H 1

Page 53: Version Control and Git - GitHub Workshop

!

commit 532d92

tree 6d189a parent d8a926 author Chris committer Chris

Add header

tree 6d189a

tree a2fe4c include blob 5c217f LICENSE blob e69de2 source.c

tree a2fe4c0

blob e69de2 header.h

blob e69de29

/********************

header.h -

$Author$ created at:

blob 5c217f

Apache v2

blob e69de2

/********************

source.c -

Page 54: Version Control and Git - GitHub Workshop

!!

References available upon request.

Page 55: Version Control and Git - GitHub Workshop

!!

tree .git/refs› .git/refs ├── heads └── tags

Page 56: Version Control and Git - GitHub Workshop

!!

git update-ref \ refs/heads/master 532d92

Page 57: Version Control and Git - GitHub Workshop

!!

git log master› commit 532d9258310ee0a4eefcbd52e152dbf0238d9e63 Author: Chris Kelly <[email protected]> Date: Wed Oct 12 01:25:30 2014 -0400

Add header

commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly <[email protected]> Date: Wed Oct 12 01:17:08 2014 -0400

Initial commit

Page 58: Version Control and Git - GitHub Workshop

!!

cat .git/refs/heads/master› 532d9258310ee0a4eefcbd52e152dbf0238d9e63

Page 59: Version Control and Git - GitHub Workshop

!!

git update-ref \ refs/heads/initial d8a926

Page 60: Version Control and Git - GitHub Workshop

!!

git log initial› commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly <[email protected]> Date: Wed Oct 12 01:17:08 2014 -0400

Initial commit

Page 61: Version Control and Git - GitHub Workshop

!!

tree .git› .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │   ├── info │   └── pack └── refs ├── heads └── tags

Page 62: Version Control and Git - GitHub Workshop

!!

git checkout initial› cat .git/HEAD›

ref: refs/heads/initial

Page 63: Version Control and Git - GitHub Workshop

!!

git update-ref \ refs/tags/v0.1 532d92

Page 64: Version Control and Git - GitHub Workshop

!!

tree .git/refs› .git/refs ├── heads │   ├── initial │   └── master └── tags └── v0.1

Page 65: Version Control and Git - GitHub Workshop

!!Getting code.

Page 66: Version Control and Git - GitHub Workshop

!!

company/project

git clone company/project›

company/project

local remoteworking

Page 67: Version Control and Git - GitHub Workshop

!!

company/project

edit README.md›

company/project

local remoteworking

README.md

Page 68: Version Control and Git - GitHub Workshop

!!

company/project

git add README.md›

company/project

local remoteworking

README.md

Page 69: Version Control and Git - GitHub Workshop

!!

company/project

git commit›

company/project

local remoteworking

README.md

Page 70: Version Control and Git - GitHub Workshop

!!

company/project

git push origin master›

company/project

local remoteworking

README.md README.md

Page 71: Version Control and Git - GitHub Workshop

!!

company/project

git fetch origin master›

company/project

local remoteworking

README.md README.md

edit1edit1

Page 72: Version Control and Git - GitHub Workshop

!!

company/project

git pull origin master›

company/project

local remoteworking

README.md README.md

edit1edit1edit1

edit2edit2edit2

Page 73: Version Control and Git - GitHub Workshop

!!

company/projectcompany/project

local remoteworking

creator/project

git remote add upstream creator/

Page 74: Version Control and Git - GitHub Workshop

!!

company/projectcompany/project

local remoteworking

creator/project

git fetch upstream

edit3edit3

Page 75: Version Control and Git - GitHub Workshop

!!

company/projectcompany/project

local remoteworking

creator/project

git push origin master

edit3edit3edit3edit3

Page 76: Version Control and Git - GitHub Workshop

!!

GitHub Flow- Fork a repository

- Create a feature branch

- Make your changes

- Push to your fork

- Create a Pull Request

Page 77: Version Control and Git - GitHub Workshop

!!Getting around.

Page 78: Version Control and Git - GitHub Workshop

!!

git log› commit 2f83b32f7123508239da5ed670a45e831d614ac7 Author: akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 22:36:17 2014 +0000

update doc.

commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 20:16:07 2014 +0000

* ext/date/lib/date.rb: fix indent [ci skip]

commit 7ce520e90a2aa4fae492ecdd0cba5b4df92c9462

Page 79: Version Control and Git - GitHub Workshop

!!

git show 2f83b32f71235082› git show 2f83b32f71› git show 2f83b3›

Page 80: Version Control and Git - GitHub Workshop

!!

git show 2f83b32f71235082› git show v2.3›

Page 81: Version Control and Git - GitHub Workshop

!!

git log --pretty=format:› 2f83b32 update doc. 2f00c56 * ext/date/lib/date.rb: fix indent [ci skip] 7ce520e * ext/tk/tcltklib.c: (experimental) support Tcl/Tk8.6.2. * ext/tk/extconf.rb: d 450307e * enum.c (nmin_run): max(n) and max_by(n) returns an array in descending 63fa57e * 2014-10-14 1f6fa32 ChangeLog: fix a typo for r47897. f77d22d common.mk: update-gems for older BASERUBY caa54c1 Revert r47899 8d7fa22 * lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem. [Featur 22e26d3 fix typo and spaces c66506e * lib/find.rb (Find.find): Call to_path for arguments to obtain strings. 89322aa * common.mk: use relative load path for bundled_gems directory. [Bug #10372] 4a883ff parse.y: keep nodes linking

Page 82: Version Control and Git - GitHub Workshop

!!

git show 2f00c56› commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 20:16:07 2014 +0000

* ext/date/lib/date.rb: fix indent [ci skip]

diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d when Numeric; return d

Page 83: Version Control and Git - GitHub Workshop

!!

git show› commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 20:16:07 2014 +0000

* ext/date/lib/date.rb: fix indent [ci skip]

diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d when Numeric; return d

HEAD^

Page 84: Version Control and Git - GitHub Workshop

!!

git show› commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 20:16:07 2014 +0000

* ext/date/lib/date.rb: fix indent [ci skip]

diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d when Numeric; return d

HEAD~3commit 450307e38315f81c10d959054c49d8baed522027 Author: akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 16:30:07 2014 +0000

* enum.c (nmin_run): max(n) and max_by(n) returns an array in descending order. [ruby-core:65452] Suggested by David Grayson.

diff --git a/ChangeLog b/ChangeLog index faecb02..aa563ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@

Page 85: Version Control and Git - GitHub Workshop

!!

git show› HEAD~3commit 450307e38315f81c10d959054c49d8baed522027 Author: akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 16:30:07 2014 +0000

* enum.c (nmin_run): max(n) and max_by(n) returns an array in descending order. [ruby-core:65452] Suggested by David Grayson.

diff --git a/ChangeLog b/ChangeLog index faecb02..aa563ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@

^^^

Page 86: Version Control and Git - GitHub Workshop

!!

git log master..fix› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <[email protected]> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

Page 87: Version Control and Git - GitHub Workshop

!!

git log› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <[email protected]> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

^master fix

Page 88: Version Control and Git - GitHub Workshop

!!

git log› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <[email protected]> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

fix ^master

Page 89: Version Control and Git - GitHub Workshop

!!

git log› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <[email protected]> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

fix --not master

Page 90: Version Control and Git - GitHub Workshop

!!

git log fix fix2 ^master› commit 7a5dcdde4939c254f79bb737d31ed6c75117a8dd Author: Chris Kelly <[email protected]> Date: Thu Oct 13 11:49:12 2014 +0100

Breaking stuff

commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <[email protected]> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

Page 91: Version Control and Git - GitHub Workshop

!!

git show 8345091› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <[email protected]> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

diff --git a/stylesheets/zen.less b/stylesheets/zen.less index 5b5cf64..786ec25 100644 --- a/stylesheets/zen.less +++ b/stylesheets/zen.less @@ -14,6 +14,10 @@ width: 700px; margin: 0 auto;

Page 92: Version Control and Git - GitHub Workshop

!!

git lol fix..master› 36ffb49 2014-10-10 (HEAD, master) width is configurable [Chris Wanstrath] f8e758c 2014-10-10 (v0.8.0) Prepare 0.8.0 release [Chris Wanstrath] 0434992 2014-10-10 fix config names [Chris Wanstrath] 9a0f4d8 2014-10-10 (v0.7.0) Prepare 0.7.0 release [Chris Wanstrath] 4f5b8a2 2014-10-10 :lipstick: [Chris Wanstrath] e187c92 2014-10-10 Reorganize enter / exit code a bit. [Chris Wanstrath] 9265568 2014-10-10 Piggy-back on preferredLineLength in the config [Chris Wanstrath] 7da2ae0 2014-10-10 Default width to editor.preferredLineLength [Chris Wanstrath] a4c4a02 2014-10-10 Make width configurable [Chris Wanstrath] cea10c6 2014-10-10 :lipstick: [Chris Wanstrath] 6637c13 2014-10-10 Hide the TreeView so people can unhide it. [Chris Wanstrath] 9057633 2014-10-10 remove soft wrap testing comment [Chris Wanstrath] 0a2d244 2014-10-10 Automatically soft wrap. Closes #24 [Chris Wanstrath]

Page 93: Version Control and Git - GitHub Workshop

!!

git log \ origin/master..HEAD

Page 94: Version Control and Git - GitHub Workshop

!!

git log gc.c› commit a223ff83b07061fe6b7259a72041c4adcc87421b Author: nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Sat Aug 30 16:29:40 2014 +0000

merge revision(s) r46387: [Backport #9607]

* gc.c: change full GC timing to keep lower memory usage. Extend heap only at (1) after major GC or (2) after several (two times, at current) minor GC Details in https://bugs.ruby-lang.org/issues/9607#note-9 [Bug #9607]

Page 95: Version Control and Git - GitHub Workshop

!!

git lol gc.c --since=1.month.ago› 2ccf728 2014-09-23 (HEAD, origin/ruby_2_1, ruby_2_1) merge revision(s) r47696,r47697 ee69bb4 2014-09-23 merge revision(s) r47641,r47642,r47644: [Backport #10262] [nagachika] c8ec78c 2014-09-23 merge revision(s) r47683: [Backport #10281] [nagachika] 77ce45d 2014-09-23 merge revision(s) r47111,r47212,r47451,r47452,r47680: [Backpor 7693578 2014-09-23 * version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.4. [nagachika]

Page 96: Version Control and Git - GitHub Workshop

!!

https://github.com/atom/atom/compare/master...ns-immutable-display-state

Page 97: Version Control and Git - GitHub Workshop

!!

https://github.com/atom/atom/compare/ns-immutable-display-state...master

Page 98: Version Control and Git - GitHub Workshop

!!

Page 99: Version Control and Git - GitHub Workshop

!!

Page 100: Version Control and Git - GitHub Workshop

!

Stop working & start playing.

Page 101: Version Control and Git - GitHub Workshop

!

git status› # On branch long-branch # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: lib/zen.coffee # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: menus/zen.cson #

Page 102: Version Control and Git - GitHub Workshop

!

git stash› Saved working directory and index state WIP on long-branch: 36ffb49 width is configurable HEAD is now at 36ffb49 width is configurable

Page 103: Version Control and Git - GitHub Workshop

!

git status› # On branch long-branch nothing to commit, working directory clean

Page 104: Version Control and Git - GitHub Workshop

!

git stash list› stash@{0}: WIP on long-branch: 36ffb49 width is configurable stash@{1}: WIP on long-branch: 36ffb49 width is configurable

Page 105: Version Control and Git - GitHub Workshop

!

git stash› # On branch some-other-branch # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: lib/zen.coffee # modified: menus/zen.cson # no changes added to commit (use "git add" and/or "git commit -a")

applypop

Page 106: Version Control and Git - GitHub Workshop

!

git branch boyscout›

Page 107: Version Control and Git - GitHub Workshop

!

git reset master^^^ --hard› HEAD is now at abcc6b1 rip staff1.rs

Page 108: Version Control and Git - GitHub Workshop

!

git checkout boyscout› Switched to branch 'boyscout'

Page 109: Version Control and Git - GitHub Workshop

!

git checkout fix -- path/file.md›

Page 110: Version Control and Git - GitHub Workshop

!

git checkout HEAD -- README.md›

Page 111: Version Control and Git - GitHub Workshop

!

git checkout -- README.md›

Page 112: Version Control and Git - GitHub Workshop

!

git checkout -f master› Switched to branch 'master'

Page 113: Version Control and Git - GitHub Workshop

!

git reset --hard HEAD› HEAD is now at bcc8845 width is configurable

Page 114: Version Control and Git - GitHub Workshop

!

git reset --hard HEAD^^^› HEAD is now at 9bd382b Prepare 0.7.0 release

Page 115: Version Control and Git - GitHub Workshop

!

git update-ref \ refs/heads/experiment bcc8845

Page 116: Version Control and Git - GitHub Workshop

!

git status› On branch experiment Changes to be committed: (use "git reset HEAD <file>..." to unstage)

modified: README.md new file: keymaps/zen.cson deleted: keymaps/zen.darwin.cson deleted: keymaps/zen.linux.cson deleted: keymaps/zen.win32.cson modified: lib/zen.coffee modified: stylesheets/zen.less

Page 117: Version Control and Git - GitHub Workshop

!

git revert 6767ce1› [experiment 54f3848] Revert "Updated README" 1 file changed, 1 insertion(+), 1 deletion(-)

Page 118: Version Control and Git - GitHub Workshop

!

git revert 54f3848› [experiment 8b7885f] Revert "Revert "Updated README"" 1 file changed, 1 insertion(+), 1 deletion(-)

Page 119: Version Control and Git - GitHub Workshop

!

git revert 54f3848› [experiment 8b7885f] 1 file changed, 1 insertion(+), 1 deletion(-)

Revert "Revert "Updated README""I have no idea what I'm doing

Page 120: Version Control and Git - GitHub Workshop

!

Diff to the second degree.

Page 121: Version Control and Git - GitHub Workshop

!

ack -i zen› keymaps/zen.cson 2: 'ctrl-shift-cmd-F': 'zen:toggle' 3: 'cmd-ctrl-z': 'zen:toggle' 5: 'ctrl-shift-cmd-F': 'zen:toggle' 6: 'cmd-ctrl-z': 'zen:toggle' 9: 'shift-f11': 'zen:toggle' 10: 'ctrl-shift-Z': 'zen:toggle' 12: 'shift-f11': 'zen:toggle' 13: 'ctrl-shift-Z': 'zen:toggle' 16: 'shift-f11': 'zen:toggle' 17: 'ctrl-shift-Z': 'zen:toggle' 19: 'shift-f11': 'zen:toggle' 20: 'ctrl-shift-Z': 'zen:toggle'

Page 122: Version Control and Git - GitHub Workshop

!

find . -not -path \ '*/\.*' -type f -exec \ sed -i '' \ s/zen/focused/ {} +

Page 123: Version Control and Git - GitHub Workshop

!

git diff› diff --git a/keymaps/zen.cson b/keymaps/zen.cson index 3784f7c..2f53ded 100644 --- a/keymaps/zen.cson +++ b/keymaps/zen.cson @@ -1,20 +1,20 @@ '.platform-darwin .workspace': - 'ctrl-shift-cmd-F': 'zen:toggle' - 'cmd-ctrl-z': 'zen:toggle' + 'ctrl-shift-cmd-F': 'focused:toggle' + 'cmd-ctrl-z': 'focused:toggle' '.platform-darwin .workspace .editor:not(.mini)': - 'ctrl-shift-cmd-F': 'zen:toggle' - 'cmd-ctrl-z': 'zen:toggle'

Page 124: Version Control and Git - GitHub Workshop

!

ack -i zen› lib/zen.coffee 14: fullscreen = atom.config.get 'Zen.fullscreen' 15: width = atom.config.get 'Zen.width' 21: # Enter Zen 47: # Exit Zen

menus/zen.cson 6: 'label': 'Zen'

package.json 2: "name": “Zen”,

README.md

Page 125: Version Control and Git - GitHub Workshop

!

git stash› Saved working directory and index state WIP on master: 36ffb49 width is configurable HEAD is now at 36ffb49 width is configurable

Page 126: Version Control and Git - GitHub Workshop

!

find . -not -path \ '*/\.*' -type f -exec \ sed -i '' \ -e s/zen/focused/ \ -e s/Zen/Focused/ {} +

Page 127: Version Control and Git - GitHub Workshop

!

git diff stash@{0}› diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused

Distraction free writing for Atom.

@@ -7,7 +7,7 @@ fullscreen command: - `cmd-ctrl-shift-F` on OSX - `shift-F11` on Windows and Linux.

Page 128: Version Control and Git - GitHub Workshop

!

Committing is communicating.

Page 129: Version Control and Git - GitHub Workshop

!

git commit -m “fixed”› [master f93a0fe] fixed 7 files changed, 47 insertions(+), 47 deletions(-) rewrite keymaps/zen.cson (60%)

Page 130: Version Control and Git - GitHub Workshop

!

git show HEAD› commit f93a0fe0833d22d1c045e323b5e4aab22b25f4ee Author: Chris Kelly <[email protected]> Date: Thu Oct 13 13:26:58 2014 +0100

fixed

diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused

Page 131: Version Control and Git - GitHub Workshop

!

git reset HEAD^› Unstaged changes after reset: M README.md M keymaps/zen.cson M lib/zen.coffee M menus/zen.cson M package.json M spec/zen-spec.coffee M stylesheets/zen.less

Page 132: Version Control and Git - GitHub Workshop

!

git commit› 1 2 # Please enter the commit message for your changes. Lines starting 3 # with '#' will be ignored, and an empty message aborts the commit. 4 # On branch master 5 # Your branch is ahead of 'origin/master' by 29 commits. 6 # (use "git push" to publish your local commits) 7 # 8 # Changes to be committed: 9 # (use "git reset HEAD <file>..." to unstage) 10 # 11 #>......modified: README.md 12 #>......modified: keymaps/zen.cson 13 #>......modified: lib/zen.coffee

1 Rename package to Focused 2 3 There is already a package in the Atom packages named Zen. Even though the 4 existing package only outputs haiku-on-command, the owner is a friend. This 5 patch replaces all instances of 'zen|Zen' with 'focused|Focused'. If you 6 don't like the name, you can pick a new one and run: 7 8 find . -not -path '*/\.*' \ 9 -type f \ 10 -exec sed -i '' \ 11 -e s/zen/focused/ \ 12 -e s/Zen/Focused/ {} + 13

Page 133: Version Control and Git - GitHub Workshop

!

git format-patch -n HEAD^› From d0f5920b3a27f2152394571cf2b1f82f118cd1fe Mon Sep 17 00:00:00 2001 From: Chris Kelly <[email protected]> Date: Thu, 13 Oct 2014 13:30:56 +0100 Subject: [PATCH 1/1] Rename package to Focused

There is already a package in the Atom packages named Zen. Even though the existing package only outputs haiku-on-command, the owner is a friend. This patch replaces all instances of 'zen|Zen' with 'focused|Focused'. If you don't like the name, you can pick a new one and run:

find . -not -path '*/\.*' \ -type f \ -exec sed -i '' \

Page 134: Version Control and Git - GitHub Workshop

!

git add -p› diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused

Distraction free writing for Atom.

Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]?

Page 135: Version Control and Git - GitHub Workshop

!

?› y - stage this hunk n - do not stage this hunk q - quit; do not stage this hunk nor any of the remaining ones / - search for a hunk matching the given regex J - leave this hunk undecided, see next hunk K - leave this hunk undecided, see previous hunk s - split the current hunk into smaller hunks e - manually edit the current hunk ? - print help

Page 136: Version Control and Git - GitHub Workshop

!

git commit -m "Callback h› [master 1953833] Callback handler fixed 2 files changed, 12 insertions(+), 12 deletions(-)

Page 137: Version Control and Git - GitHub Workshop

!

git log› commit 4e05bc85139f0fceb2e1e60ec3b6732cc38e9f3f Author: Chris Kelly <[email protected]> Date: Thu Oct 13 14:08:55 2014 +0100

Rename main function

commit 19538336d7c63097fc865f7b017c48c5b5e93d8d Author: Chris Kelly <[email protected]> Date: Thu Oct 13 14:08:35 2014 +0100

Callback handler fixed

commit df9df8a911477becd723e813f564e023c11641a8

Page 138: Version Control and Git - GitHub Workshop

!

git rebase -i HEAD~4› 1 pick e8f500d Fix order of specs 2 pick 6017931 Styles tweaked 3 pick 63a108c Callback handler fixed 4 pick eb4f7b9 Rename main function 5 6 # Rebase 36ffb49..eb4f7b9 onto 36ffb49 7 # 8 # Commands: 9 # p, pick = use commit 10 # r, reword = use commit, but edit the commit message 11 # e, edit = use commit, but stop for amending 12 # s, squash = use commit, but meld into previous commit 13 # f, fixup = like "squash", but discard this commit's log message

1 pick e8f500d Fix order of specs 2 squash 6017931 Styles tweaked 3 pick 63a108c Callback handler fixed 4 squash eb4f7b9 Rename main function 5 6 # Rebase 36ffb49..eb4f7b9 onto 36ffb49 7 # 8 # Commands: 9 # p, pick = use commit 10 # r, reword = use commit, but edit the commit message 11 # e, edit = use commit, but stop for amending 12 # s, squash = use commit, but meld into previous commit 13 # f, fixup = like "squash", but discard this commit's log message

1 # This is a combination of 2 commits. 2 # The first commit's message is: 3 4 Fix order of specs 5 6 Update function 7 8 Styles tweaked 9 10 Rename main function 11 12 # This is the 2nd commit message: 13

[detached HEAD b442281] Rename package to Focused 7 files changed, 46 insertions(+), 46 deletions(-) rewrite keymaps/zen.cson (60%) Successfully rebased and updated refs/heads/master.

Page 139: Version Control and Git - GitHub Workshop

!

git rebase --abort›

Page 140: Version Control and Git - GitHub Workshop

!

git commit --amend› 1 FIx typo 2 3 # Please enter the commit message for your changes. Lines starting 4 # with '#' will be ignored, and an empty message aborts the commit. 5 # On branch master 6 # Your branch is ahead of 'origin/master' by 27 commits. 7 # (use "git push" to publish your local commits) 8 # 9 # Changes to be committed: 10 # (use "git reset HEAD^1 <file>..." to unstage) 11 # 12 #>......modified: README.md

Page 141: Version Control and Git - GitHub Workshop

!!

Bisect for debugging.

Page 142: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

😍

😢

Page 143: Version Control and Git - GitHub Workshop

!!

git bisect start› git bisect bad› git bisect good v2.3›

Page 144: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect start›

Page 145: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect bad›

Page 146: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect good v3.2› Bisecting: 36 revisions left

Page 147: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect bad› Bisecting: 18 revisions left

Page 148: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect good› Bisecting: 9 revisions left

Page 149: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect bad› Bisecting: 4 revisions left

Page 150: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect good› 1779f77 is first bad commit

Page 151: Version Control and Git - GitHub Workshop

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect reset›

Page 152: Version Control and Git - GitHub Workshop

!!

Cleanliness is next to Godliness.

Page 153: Version Control and Git - GitHub Workshop

!!

git branch --merged› fix-soft-wrapped-text-overflow rename-package * master

Page 154: Version Control and Git - GitHub Workshop

!!

git branch --no-merged› long-running-branch experiment-that-failed hot-fix

Page 155: Version Control and Git - GitHub Workshop

!!

git branch -d hot-fix› error: The branch 'hot-fix' is not fully merged. If you are sure you want to delete it, run 'git branch -D hot-fix'.

Page 156: Version Control and Git - GitHub Workshop

!!

git branch --merged | \ grep -v "\*" | \ xargs -n 1 \ git branch -d && git push origin --delete

Page 157: Version Control and Git - GitHub Workshop

!!

› long-running-branch experiment-that-failed hot-fix

git remote prune origin --dry-run

Page 158: Version Control and Git - GitHub Workshop

!

Laziness is next to Godliness.

Page 159: Version Control and Git - GitHub Workshop

!

git commit -m “Fixes #42”› Fix, Fixes, Fixed Close, Closes, Closed Resolve, Resolves, Resolved

Page 160: Version Control and Git - GitHub Workshop

!

git commit -m \ “Fixes defunkt/zen#42”

Page 161: Version Control and Git - GitHub Workshop

!

git commit -m \ “Update README [ci skip]”

Page 162: Version Control and Git - GitHub Workshop

!

git status› # On branch master # Your branch is ahead of 'origin/master' by 26 commits. # (use "git push" to publish your local commits) # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: README.md # modified: keymaps/zen.cson # modified: lib/zen.coffee # modified: menus/zen.cson # modified: package.json

Page 163: Version Control and Git - GitHub Workshop

!

git status -sb› ## master...origin/master [ahead 26] M README.md M keymaps/zen.cson M lib/zen.coffee M menus/zen.cson M package.json M spec/zen-spec.coffee M stylesheets/zen.less

Page 164: Version Control and Git - GitHub Workshop

!

git config --global \ alias.st 'status -sb'

Page 165: Version Control and Git - GitHub Workshop

!

git status› # On branch master # Your branch is ahead of 'origin/master' by 26 commits. # (use "git push" to publish your local commits) # # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: README.md # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory)

Page 166: Version Control and Git - GitHub Workshop

!

git diff --staged› diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused

Distraction free writing for Atom.

@@ -7,7 +7,7 @@ fullscreen command: - `cmd-ctrl-shift-F` on OSX - `shift-F11` on Windows and Linux.

Page 167: Version Control and Git - GitHub Workshop

!

git config --global \ alias.ds 'diff --staged‘

Page 168: Version Control and Git - GitHub Workshop

!

~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

Page 169: Version Control and Git - GitHub Workshop

!

~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

git_branch() { echo $(/usr/bin/git symbolic-ref HEAD 2>/dev/null \ | awk -F/ {'print $NF'}) }

Page 170: Version Control and Git - GitHub Workshop

!

~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

git_dirty() { st=$(/usr/bin/git status 2>/dev/null | tail -n 1) if [[ $st == "" ]] then echo "" else if [[ $st == "nothing to commit, working directory clean" ]] then echo "on %{$fg[green]%}$(git_prompt_info)%{$reset_color%}" else echo "on %{$fg[yellow]%}$(git_prompt_info)*%{$reset_color%}" fi fi }

Page 171: Version Control and Git - GitHub Workshop

!

~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

unpushed () { /usr/bin/git cherry -v origin/$(git_branch) 2>/dev/null }

need_push () { if [[ $(unpushed) == "" ]] then echo " " else echo " with %{$fg[magenta]%}unpushed%{$reset_color%} " fi }

Page 172: Version Control and Git - GitHub Workshop

!

Keyboard Shortcuts.

Page 173: Version Control and Git - GitHub Workshop

!t

Page 174: Version Control and Git - GitHub Workshop

!w

Page 175: Version Control and Git - GitHub Workshop

!l

Page 176: Version Control and Git - GitHub Workshop

!y

Page 177: Version Control and Git - GitHub Workshop

!

- fuzzy match a file

- switch branches

- highlight line number(s)

- get the permanent url

tw

ly

HTTPS://HELP.GITHUB.COM/ARTICLES/USING-KEYBOARD-SHORTCUTS

Page 178: Version Control and Git - GitHub Workshop

!

Let the machines do the work.

Page 179: Version Control and Git - GitHub Workshop

!

Page 180: Version Control and Git - GitHub Workshop

!

Page 181: Version Control and Git - GitHub Workshop

!

Page 182: Version Control and Git - GitHub Workshop

!

Page 183: Version Control and Git - GitHub Workshop

!

Page 184: Version Control and Git - GitHub Workshop

!

Real teams communicate.

Page 185: Version Control and Git - GitHub Workshop

!

447

Page 186: Version Control and Git - GitHub Workshop

!

Page 187: Version Control and Git - GitHub Workshop

!

Page 188: Version Control and Git - GitHub Workshop

!Email isn’t dead.

Page 189: Version Control and Git - GitHub Workshop

!

Page 190: Version Control and Git - GitHub Workshop

!

Page 191: Version Control and Git - GitHub Workshop

!!

Git is there to help.

Page 192: Version Control and Git - GitHub Workshop

!!

Git is your friend.

Page 193: Version Control and Git - GitHub Workshop

!!

Git is sometimes your drunk friend.

Page 194: Version Control and Git - GitHub Workshop

!!

training.github.com

Page 195: Version Control and Git - GitHub Workshop

!!

Thank you.

Page 196: Version Control and Git - GitHub Workshop

!!

@amateurhumanQUESTIONS?