15

バージョン管理にgitを使い始めたばかりです。リポジトリのバックアップコピーをローカルファイルサーバーに保存したいのですが。gitリポジトリをバックアップする正しい方法について読んだ後、リポジトリをgitバンドルとしてファイルサーバーに保存することにしました。

リポジトリをバンドルして、結果のバンドルをファイルサーバーにコピーできます。小切手。また、クローンを作成してプルしてみました。すべてがうまく機能しています。ただし、ローカルの変更も随時プッシュしたいと思います。私が次のようなことを実行すると

git push bundlefile.git

エラーが発生します:

error: failed to push some refs to 'bundlefile.git'

バンドルからクローンまたはプルすることはできますが、バンドルにプッシュすることはできませんか?バックアップするたびにリポジトリ全体のバンドルを作成したくはありません。

このユーザーエラーですか、それともバンドルはプッシュされることを意図していませんか?

4

3 に答える 3

10

バンドルファイルに直接プッシュすることはできません。バンドルファイルはリポジトリの圧縮表現であり、それを変更するには、アンバンドリング、プッシュ、および再度のバンドルが必要になります。

これを行う1つの方法は、あなたが言ったように、バックアップを作成するたびに新しいバンドルを作成することです。

もう1つの方法は、ファイルサーバー上にベアリポジトリを作成し、それにプッシュすることです。ベアリポジトリは、作業ディレクトリのないリポジトリであり、基本的には.git通常のクローンのディレクトリの内容です。を使用してベアリポジトリを作成できますgit init --bare

于 2012-08-09T03:16:43.053 に答える
0

リモートファイルサーバーへの書き込みアクセス権がある場合は、必ず次のようにします。

myrepo$ git init --bare //server/my/backup/folder/myrepo.git
myrepo$ git remote add backup  //server/my/backup/folder/myrepo.git
myrepo$ git push backup --mirror

私はこれを正確に試していませんが、MSysでは/j/myFolder/myrport.gitや

myrepo$ git push --set-upstream backup master

次に、復元はそのクローンにすぎません。

dev$ git clone //server/my/backupo/folder/myrepo.git
Cloning into myrepo...
dev$ cd myrepo

そして、あなたは再び幸せにプッシュすることに戻っています。

于 2018-07-13T17:15:51.997 に答える
-6

ファイルサーバーに権限の問題があるようです。ユーザー/グループに書き込み権限があることを確認してください。

于 2012-08-09T02:51:56.703 に答える