TestRepoというローカルリポジトリがあります。--bareオプションを使用してクローンを作成し、このクローンを圧縮してサーバーにスローします。それを解凍しても、まだむき出しです。
次に、次のようなものを使用して、sshを介してローカルでベアリモートリポジトリのクローンを作成します。
git clone ssh://git@host.com/~/TestRepo.git TestRepoCloned
ローカルのTestRepoClonedはベアではなく、「origin」と呼ばれるリモートがあります。設定ファイルの外観から正しく追跡しているようです
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://git@host.com/~/TestRepo.git
[branch "master"]
remote = origin
merge = refs/heads/master
既存のファイルを編集します。を介して現在のブランチ(マスター)に変更をコミットします
git commit -a -m "Edited a file."
コミットは成功し、すべてが順調です。
この変更をSSH経由でリモートリポジトリにプッシュすることにしました。
git push
リモートリポジトリはもうむき出しではありませんが、完全な作業ディレクトリがあり、それ以上プッシュしようとするとエラーメッセージが表示され続けます。
私が読んだことはすべて、私がしていることが正しいことを示唆しているようですが、それは単に機能していません。変更をベアリモートリポジトリにプッシュして、実際にベアのままにしておくにはどうすればよいですか?