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

Re: New to Git / Questions about single user / multiple projects

From
Jakub Narebski <jnareb@gmail.com>
Date
Aug 19, 2009, 07:59 UTC
Message-ID
<m3ab1wnsie.fsf@localhost.localdomain>
In-Reply-To
<a2db4dd50908181852s1e2c64fen8b883faf76b3136d@mail.gmail.com>
"Rob (gmail)" <robvanb@gmail.com> writes:
Show 5 quoted lines
> I'm new to git and have some (I think) basic questions that I have
> not been able to find answers to in the documentation.  It's very
> possible that these are the result of my lack in understanding git /
> version control, so feel free to point me to documentation that
> might contain the answers.
Documentation you might want to read: 
* "Git User's Manual", distributed with Git (installed at least on
  Linux at $sharedir/doc/git-$version/user-manual.html), also at
  http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
* "The Git Community Book", available at
  http://book.git-scm.com/
* "Pro Git.  Professional version control", available at
  http://progit.org/book/
> Q1:
> Can I create a single repository (project?) for all my code, knowing
> that there are multiple small, unrelated projects. Or should I create
> a new repository for each project ?

You should create a new repository for each project. In git each commit is about state of whole repository.

If you have single unrelated files, you might want to consider using Zit tool (see http://git.or.cz/gitwiki/InterfacesFrontendsAndTools for details), but beware that it is in early stages of development.

(Although if you choose one big repository, you can split it later
with some effort using git-filter-branch (or git-split somewhere in
mailing list archives) if you didn't publish your repositories).
 
Show 5 quoted lines
> Q2:
> After initalizing my repository, and comitting the 1st batch of code:
> When further working on the code, will the command "git add ." add all
> changed and new files ? Or do I specifically need to list the new
> files ?

"git add ." would add _all_ new not ignored files, and would stage all changed files. But you would have to be sure that all files you don't want to be comitted, like generated files (*.o, *.log,...) and backup files of your editor (*~ or *.bak), are ignored using .gitignore (usually for generated files) and .git/info/excludes or core.excludesFile (usually for specific patterns like backup files).

> Q3: Can I run 'git add x' in any subdirectory, or do I need to issue
> if from the root of the project ?

Most git commands take subdirectory they are in into consideration when acting. "git add <filename>" in subdirectory works as expected.

Note that some commands need to have '.' as filename / pattern to be limited to current subdirectory / act on current directory.

> --
> When in trouble or in doubt, run in circles, scream and shout
:-)
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: Daniel BarkalowNext: Rob (gmail)
Message 5 of 11 in “New to Git / Questions about single user / multiple projects”
  1. Rob (gmail)Aug 19, 2009
  2. Changsheng JiangAug 19, 2009
  3. Chris PackhamAug 19, 2009
  4. Daniel BarkalowAug 19, 2009
  5. Jakub NarebskiAug 19, 2009
  6. Rob (gmail)Aug 19, 2009
  7. Jakub NarebskiAug 19, 2009
  8. Rob (gmail)Aug 19, 2009
  9. Jeff KingAug 19, 2009
  10. Jeff KingAug 19, 2009
  11. Jakub NarebskiAug 19, 2009

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.