Chapter 6 notes
git show enterfirstfewshahere
add branch to show
git show HEAD^ shows parent
git log master..experiment shows all commits on exp not on master
git log ^refA refB all commits from multiple braches not on master
git log master...exp all commites reachable by either not both
-i for many commands starts interactive mode
you can use this to patch or stage parts of files you have changed
I get the benefit of working in pairs for programming and other IT projects. I am beginning to explore working with another on tasks I traditionally have done alone.
git diff --check checks for whitespace, run before committing
using as contributer and integrator (maintainter) roles
simplest example: 2 devs clone, one pushes changes, next merges those then pushes
With maintainer, more complex:
A contributor clones the repository and makes changes.
The contributor pushes to their own public copy.
The contributor sends the maintainer an e-mail asking them to pull changes.
The maintainer adds the contributor’s repo as a remote and merges locally.
The maintainer pushes merged changes to the main repository.
chapter 4 notes
on the server
your remote repo is bare, no working directory; just .git
local network: git clone /path or git clone file:///path
ssh: git clone ssh://user@server:project.git or git clone user@server:project.git
(assumes ssh, assumes current user)
git: fast but no authentication, complex to setup
http: git clone http://example.com/gitproject.git
I don't know about you, but using scp/pscp with Putty on Windows is always an eye-gouging experience. It's really what made me decide to setup a Linux computer. But I like Windows! So here's how I upload files our servers.
I have liked Good Magazine since before they were anchored to Starbuck's home page. I remember using it as a jumping off point for a few different websites almost 3 years ago. It's a great mix of content, design, and lots of charts. I sense there is a backlash against infographics, but I think anything that faithfully represents data in a compelling fashion is good.
git branch testing: new branch called testing
-v adds last commit
--merged shows branches merged into your currently checked out branch
--no-merged shows unmerged branches
Can't git branch -d (delete) unmerged branch without -D confirmation
git checkout testing: switches to that branch
git checkout master: switch back
git checkout -b iss53: create branch and switch to it
We have been working on our client onboarding process. You can probably look at each item and figure out what pain point I am trying to address. The biggest part of this process is managing client expectations: explaining why it is in their best interest that we don’t start working ticket the minute we shake hands. I have it roughly broken down into these steps:
.gitignore can have rules:
# a comment - this is ignored
*.a # no .a files
!lib.a # but do track lib.a, even though you're ignoring .a files above
/TODO # only ignore the root TODO file, not subdir/TODO
build/ # ignore all files in the build/ directory
doc/*.txt # ignore doc/notes.txt, but not doc/server/arch.txt