# Migrating Repository without Network

6 messages from 2025-10-21 to 2025-10-22. Participants: Dennis Putnam, D. Ben Knoble, Junio C Hamano, Konstantin Khomoutov.
Thread: https://gitlist.dev/t/64362

## Dennis Putnam, 2025-10-21 14:21

Subject: Migrating Repository without Network
Message-ID: <94497aac-c61a-4b17-9e4c-8ca9b966829c@bellsouth.net>
URL: https://gitlist.dev/e/94497aac-c61a-4b17-9e4c-8ca9b966829c%40bellsouth.net
In-Reply-To: <94497aac-c61a-4b17-9e4c-8ca9b966829c.ref@bellsouth.net>

```
I have a server with a git repository whose NIC is no longer working. I 
need to migrate that repository to a new server using a flash drive. I 
can only find instructions for migrating when both servers have network 
access. Can someone tell me how to do a migration without using a 
network? TIA.

```

## D. Ben Knoble, 2025-10-21 21:23

Subject: Re: Migrating Repository without Network
Message-ID: <CALnO6CAKBB=MRUBSv-_pqWuUgi6d1+o_X=iq-fLzfSkCYMaiPw@mail.gmail.com>
URL: https://gitlist.dev/e/CALnO6CAKBB%3DMRUBSv-_pqWuUgi6d1%2Bo_X%3Diq-fLzfSkCYMaiPw%40mail.gmail.com
In-Reply-To: <94497aac-c61a-4b17-9e4c-8ca9b966829c@bellsouth.net>

```
On Tue, Oct 21, 2025 at 10:52 AM Dennis Putnam <dap1@bellsouth.net> wrote:
>
> I have a server with a git repository whose NIC is no longer working. I
> need to migrate that repository to a new server using a flash drive. I
> can only find instructions for migrating when both servers have network
> access. Can someone tell me how to do a migration without using a
> network? TIA.

Have a look at git-bundle(1), which was designed for something similar
to this use case I believe. Or, rsync the repo to the flash drive and
then off?

-- 
D. Ben Knoble

```

## Junio C Hamano, 2025-10-21 22:23

Subject: Re: Migrating Repository without Network
Message-ID: <xmqqo6pzsxlm.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqo6pzsxlm.fsf%40gitster.g
In-Reply-To: <CALnO6CAKBB=MRUBSv-_pqWuUgi6d1+o_X=iq-fLzfSkCYMaiPw@mail.gmail.com>

```
"D. Ben Knoble" <ben.knoble@gmail.com> writes:

> On Tue, Oct 21, 2025 at 10:52 AM Dennis Putnam <dap1@bellsouth.net> wrote:
>>
>> I have a server with a git repository whose NIC is no longer working. I
>> need to migrate that repository to a new server using a flash drive. I
>> can only find instructions for migrating when both servers have network
>> access. Can someone tell me how to do a migration without using a
>> network? TIA.
>
> Have a look at git-bundle(1), which was designed for something similar
> to this use case I believe. Or, rsync the repo to the flash drive and
> then off?

But bundle is only about preserving/transporting the history
recorded in the repository.  It does not do the repository config or
the hooks.  Those folks would want to migrate the entire repository
data off of a failing server, so I think "rsync/cp" would be the
more sensible route.

Thanks.

```

## Konstantin Khomoutov, 2025-10-22 09:04

Subject: Re: Migrating Repository without Network
Message-ID: <6tygbwc6ifpuo3xylsmsveufqyroazy35u4lyblnvuls3l7n3u@d4ail3s6vtoa>
URL: https://gitlist.dev/e/6tygbwc6ifpuo3xylsmsveufqyroazy35u4lyblnvuls3l7n3u%40d4ail3s6vtoa
In-Reply-To: <94497aac-c61a-4b17-9e4c-8ca9b966829c@bellsouth.net>

```
On Tue, Oct 21, 2025 at 10:21:52AM -0400, Dennis Putnam wrote:

> I have a server with a git repository whose NIC is no longer working. I need
> to migrate that repository to a new server using a flash drive. I can only
> find instructions for migrating when both servers have network access. Can
> someone tell me how to do a migration without using a network? TIA.

Note that Git repositories - both "bare" which are typical for servers [1] -
and "normal" - which usually get created when the folks clone repositories
from centralized locations, are self-containing, so what you should do is to
just physcally copy the directory with the repository to the flash drive,
recursively. Then make sure you have another copy of it, just in case you'll
screw something later.

Then, once you have the repository on the flash drive, what to do heavily
depends on how the access to that repository was provided - simply because
there are many ways to do that - say, via SSH with several real system
accounts, via SSH with a single "virtual" user, via HTTP[S] with the
authentication provided by the mediating web server, and so on; it is also
possible to combine these ways of access. It is also possible that the repo
is under the control of some turn-key solution such as GitLab, Gitea etc.
So, in the end, what to do next depends on what setup *around* that Git repo
you have right now.

In either case, it will be possible to fetch all the data from the repo saved
on the flash drive: it might be not exactly obvious but all Git commands which
fetch data - such as "clone", "fetch" etc - do understand "plain" pathnames
such as /the/path/to/the/repo and URLs with the special scheme "file://" -
such as file:///the/path/to/the/repo, allowing them to work with on-disk repos
available locally such as on a mounted flash drive.

 1. https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server


```

## Konstantin Khomoutov, 2025-10-22 09:14

Subject: Re: Migrating Repository without Network
Message-ID: <yfg4ow3ndckqr6zvrbvldbynv2jgaf5ip76phusdtiwelnz4e2@5e5hct2uujo5>
URL: https://gitlist.dev/e/yfg4ow3ndckqr6zvrbvldbynv2jgaf5ip76phusdtiwelnz4e2%405e5hct2uujo5
In-Reply-To: <6tygbwc6ifpuo3xylsmsveufqyroazy35u4lyblnvuls3l7n3u@d4ail3s6vtoa>

```
On Wed, Oct 22, 2025 at 12:04:15PM +0300, Konstantin Khomoutov wrote:

[...]
> In either case, it will be possible to fetch all the data from the repo
> saved on the flash drive: it might be not exactly obvious but all Git
> commands which fetch data - such as "clone", "fetch" etc - do understand
> "plain" pathnames such as /the/path/to/the/repo and URLs with the special
> scheme "file://" - such as file:///the/path/to/the/repo, allowing them to
> work with on-disk repos available locally such as on a mounted flash drive.

...it should be noted, though, that "normal" and "bare" repository have
different schemes of storing branches available in them, and it might affect
the approach you will need to employ to fetch really *all* the data to form a
new repo.

It's hardly possible to dive further in this topic because we have next to
zero knowledge about your setup - including whether that repo is bare and is
accessed from the outside, or normal and merely shared between the users
physically logged into the server and so on. I mean, it may so happen that all
you will need to do is to copy the repo to a flash drive and then copy it
again to the new server, possibly fix filesystem permissions on it so that
they match the ones the old repo has, and call it a day. In case you will need
more advanced help, you'll need to provide more details on your situation.


```

## Dennis Putnam, 2025-10-22 15:29

Subject: Re: Migrating Repository without Network
Message-ID: <16b5dc64-201e-4796-942e-1e6e2f386ce8@bellsouth.net>
URL: https://gitlist.dev/e/16b5dc64-201e-4796-942e-1e6e2f386ce8%40bellsouth.net
In-Reply-To: <6tygbwc6ifpuo3xylsmsveufqyroazy35u4lyblnvuls3l7n3u@d4ail3s6vtoa>

```
Thanks for the reply. I'm not a git expert (obviously) so I am not sure 
of some of the terminology. This is a remote repository that is accessed 
via SSH from various clients. Does that clarify things?

On 10/22/2025 5:04 AM, Konstantin Khomoutov wrote:
> On Tue, Oct 21, 2025 at 10:21:52AM -0400, Dennis Putnam wrote:
>
>> I have a server with a git repository whose NIC is no longer working. I need
>> to migrate that repository to a new server using a flash drive. I can only
>> find instructions for migrating when both servers have network access. Can
>> someone tell me how to do a migration without using a network? TIA.
> Note that Git repositories - both "bare" which are typical for servers [1] -
> and "normal" - which usually get created when the folks clone repositories
> from centralized locations, are self-containing, so what you should do is to
> just physcally copy the directory with the repository to the flash drive,
> recursively. Then make sure you have another copy of it, just in case you'll
> screw something later.
>
> Then, once you have the repository on the flash drive, what to do heavily
> depends on how the access to that repository was provided - simply because
> there are many ways to do that - say, via SSH with several real system
> accounts, via SSH with a single "virtual" user, via HTTP[S] with the
> authentication provided by the mediating web server, and so on; it is also
> possible to combine these ways of access. It is also possible that the repo
> is under the control of some turn-key solution such as GitLab, Gitea etc.
> So, in the end, what to do next depends on what setup *around* that Git repo
> you have right now.
>
> In either case, it will be possible to fetch all the data from the repo saved
> on the flash drive: it might be not exactly obvious but all Git commands which
> fetch data - such as "clone", "fetch" etc - do understand "plain" pathnames
> such as /the/path/to/the/repo and URLs with the special scheme "file://" -
> such as file:///the/path/to/the/repo, allowing them to work with on-disk repos
> available locally such as on a mounted flash drive.
>
>   1. https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server
>


```
