git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Did anyone have trouble learning the idea of local vs. remote branches?

From
SZSalikh Zakirov <salikh.zakirov@intel.com>
Date
Nov 7, 2006, 18:08 UTC
Message-ID
<eiqi3f$ouq$1@sea.gmane.org>
In-Reply-To
<20061107172450.GA26591@spearce.org>
Shawn Pearce wrote:
> Clearly there is a gap in communicating these ideas in a way that
> they can be understood by users.  Of course in at least one case
> the users just isn't reading any Git documentation and plows ahead
> as though it were CVS ('cause everything's "just like CVS") *sigh*.

I've went through persuading my colleagues (~30 engineers) to use Git and tutoring on it through the three summer months, and my experience is very similar to Shawn's. (i.e. confusing local and remote branches, not reading documentation, and "just like CVS" attitude)

Below is the one git feature that I think was stumbled upon most often:
* people were often anaware of *multiple* branches created by git-clone,
  as the operation they wanted was analog of "cvs checkout". 
* git-fetch / git-pull tries to download all of the branches that were
  preset at git-clone time, and subsequently gives errors if some topic
  branches were rewound or dropped, while most of the time my colleagues
  were interested in just one "mainline" branch.

I think that the particular issue with the workflow in my organization could have been solved by the git-checkout and git-clone hybrid

    git-checkout ssh://path.to/repo.git#branch [work_dir]

which would clone repository with just one branch and setup the remotes file accordingly (The syntax is completely made up, of course)

P.S. a few words on the workflow we use:
- there is a "mainline" branch of development, kept as ssh-shared git repository
- mainline commits require some pre-commit testing, which takes ~1.5 hours,
  so people tend not to commit to mainline too often. On average, a given
  person commits to mainline once or twice a week.
- mainlines commits also require a fellow developer review, that's where
  topic branches come in handy. Topic branches are also useful for testing,
  as pre-commit testing should be run on several different platforms, thus
  on a different machines. Topic branches are kept on the same shared server.
Previous: Shawn PearceNext: Shawn Pearce
Message 2 of 9 in “Did anyone have trouble learning the idea of local vs. remote branches?”
  1. Shawn PearceNov 7, 2006
  2. Salikh ZakirovNov 7, 2006
  3. Shawn PearceNov 8, 2006
  4. Matthieu MoyNov 8, 2006
  5. Andreas EricssonNov 8, 2006
  6. Wink SavilleNov 8, 2006
  7. Jakub NarebskiNov 8, 2006
  8. Wink SavilleNov 8, 2006
  9. Jakub NarebskiNov 8, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.