Re: Considering teaching plumbing to users harmful
From: Stephen Sinclair <hidden>
Date: 2016-06-15 22:44:57
On Wed, Jul 16, 2008 at 6:32 PM, Theodore Tso [off-list ref] wrote:
So from a pedagogical perspective, what I would probably do is show
them how to replicate svn-up, and explain to them how this script
works:
#!/bin/sh
# git-up
if git diff --quiet && git diff --quiet --cached ; then
git pull $*
else
git stash ; git pull $*; git stash pop
fiWouldn't this be confusing if they have a few commits on the local branch that aren't yet pushed to the remote branch? They could suddenly have conflicts that have nothing to do with the working tree, which could throw people off. Not to mention the meaningless merges that clutter the gitk display. I know I was personally pretty confused the first few times this happened and I had little trapezoidal patterns in gitk showing 2 commits being automerged between the local and remote branches. This was before I understood the concepts of local and remote branches. Perhaps some warning when... if git diff --quiet origin/master HEAD; then... Personally I've since learned that git-pull is a command to think about a little before doing, as opposed to svn up, since you might have to resolve things you aren't prepared for, and we're trying to avoid teaching git-reset here. I've had to untrain myself from using git-pull, switching to git-fetch/merge more and more often, because I keep doing stupid 3-commit merges by mistake when I didn't intend to. Some tracking of what's been pushed and what hasn't is helpful to keep things in the expected order imho. Steve