私は、FuelPHP フレームワークを使用して、他の 2 人のチーム メンバーと共に Web サイトを開発しています。プロジェクトを維持するために git を使用したいのですが、構成に頭を悩ませています。oil
FuelPHP のインストールに使用すると、メイン フレームワークと github からのいくつかのサブモジュールがインストールされます。ドキュメント ルートの.git/config
ファイルは次のようになります。
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/fuel/fuel.git
[branch "1.4/master"]
remote = origin
merge = refs/heads/1.4/master
[submodule "docs"]
url = git://github.com/fuel/docs.git
[submodule "fuel/core"]
url = git://github.com/fuel/core.git
[submodule "fuel/packages/auth"]
url = git://github.com/fuel/auth.git
[submodule "fuel/packages/email"]
url = git://github.com/fuel/email.git
[submodule "fuel/packages/oil"]
url = git://github.com/fuel/oil.git
[submodule "fuel/packages/orm"]
url = git://github.com/fuel/orm.git
[submodule "fuel/packages/parser"]
url = git://github.com/fuel/parser.git
このプロジェクトを維持したいリモートサーバーにベアリポジトリをセットアップしています。私は、FuelPHP とそのサブモジュールの github から更新をプルする機能を持ちたいと思っています。また、変更をベア リポジトリにプッシュして、チーム メンバーと本番サーバーがそこからプルできるようにしたいと考えています。これまでのところ、私はレンガの壁にぶつかっています。
これまでに行ったことは次のとおりです。
サーバー上:
$ mkdir websitename.git
$ cd websitename.git
$ git init --bare
私のローカルマシンで:
$ curl get.fuelphp.com/oil | sh
$ oil create websitename
$ cd websitename/
$ git remote add reponame ssh://git@example.com:2222/httpd/www/websitename.git
$ git push reponame 1.4/master
私はこの応答を受け取ります:
Counting objects: 14422, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4375/4375), done.
Writing objects: 100% (14422/14422), 2.20 MiB | 3.82 MiB/s, done.
Total 14422 (delta 9816), reused 14410 (delta 9810)
To ssh://haroldbr@haroldinc.com:2222/home/haroldbr/public_html/crude.git
* [new branch] 1.4/master -> 1.4/master
次に、サーバーで再び:
$ git clone -l --no-hardlinks /httpd/www/websitename.git /httpd/www/websitename
これは私にこのエラーを与えます:
Cloning into 'websitename'...
done.
warning: remote HEAD refers to nonexistent ref, unable to checkout.
明らかに構成に問題がありますが、それが何であるかはわかりません。を使用して、リモート リポジトリ内のすべてのファイルを更新できるようにしたいと考えていますgit
。私はそれが次のように機能することを想像しています:
私のローカルマシンで:
$ git pull origin 1.4/master
$ git push reponame --all
サーバー上:
$ cd websitename/
$ git pull
完璧な世界では、これにより、FuelPHP のすべての更新とそのパッケージが github からプルされ、それらのすべての更新が、ベア リポジトリ内app/
またはリポジトリへのファイルへの変更と共にプッシュされます。public/
私がやろうとしていることは可能ですか?でリポジトリをセットアップし、別々に維持する必要がありますapp/
かpublic/
? 裸のレポからクローンできないという構成の何が問題になっていますか?