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

Re: move git repository out of a folder?

From
Sean Brown <seanmichaelbrown@gmail.com>
Date
Jun 4, 2008, 20:18 UTC
Message-ID
<1086fb5f0806041318u3b1c4a3cg4dbc73fb638ea16b@mail.gmail.com>
In-Reply-To
<m31w3dyn2n.fsf@localhost.localdomain>
On Wed, Jun 4, 2008 at 4:14 PM, Jakub Narebski <jnareb@gmail.com> wrote:
Show 42 quoted lines
> "Shawn O. Pearce" <spearce@spearce.org> writes:
>
>> Sean Brown <seanmichaelbrown@gmail.com> wrote:
>> >
>> > Let's say I've got this directory structure of source files:
>> >
>> > /folderA
>> > /folderA/sourcecode/
>> > /folderA/sourcecode/file1.txt
>> > /folderA/sourcecode/file2.txt
>> > etc...
>> >
>> > When putting the project under git source control, I did this:
>> >
>> > cd /folderA
>> > git init
>> >
>> > So now when colleagues clone my repository, they get the source code
>> > in the "sourcecode" folder.  I'd like to just make the repository
>> > simply give them the source files, not in a directory.  In other
>> > words, as if I had originally been smart and done this:
>> >
>> > cd /folderA/sourcecode
>> > git init
>> >
>> > Can I make that happen without losing all of the history?
>>
>> git mv sourcecode/* .
>> rmdir sourcecode
>> git commit
>
> What he said.  Git should automatically detect renames.  When pulling
> code from someone who hasn't made this change yet, you might need to
> use 'subtree' merge strategy, as currently git would put files added
> as sourcecode/filename in sourcecode/filename, not as top dir filename
> when pulling from side branch.
>
> If you want to _change history_, as if you made correct decision at
> the start (and convince everyone to reclone, or to do the same
> surgery; or if you for the time being are solo contributor to the
> project), you can use git-filter-branch (formerly cg-admin-rewrite-hist ;-).
>
Thank you Shawn and Jakub.  This worked perfectly.
Sean
Previous: Jakub NarebskiNext: Avery Pennarun
Message 4 of 5 in “move git repository out of a folder?”
  1. Sean BrownJun 4, 2008
  2. Shawn O. PearceJun 4, 2008
  3. Jakub NarebskiJun 4, 2008
  4. Sean BrownJun 4, 2008
  5. Avery PennarunJun 4, 2008

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.