- 1 名前:login:Penguin [2007/12/16(日) 18:40:39 ID:GslAi8rs]
- ソースコード管理を行うバージョン管理システム、git について語ろう。
あの、リーナス・トーバルズだって、バージョン管理を始めたんだ。 www.kernel.org/pub/software/scm/git/ git チュートリアル (バージョン 1.5.1 以降用) www8.atwiki.jp/git_jp/pub/Documentation.ja/tutorial.html
- 343 名前:login:Penguin mailto:sage [2009/06/25(木) 21:57:36 ID:Onb9g2E7]
- git-daemonについて質問です。
開発用と同じPCにgit-daemonをセットアップしようとしています。 基本的にはこちらにある通りに設定を行いました。 d.hatena.ne.jp/amacou/20090113/1231831940 わたしの環境はgit-1.6.0.2、opensuse11.1です。 git cloneやcommitはできたのですが、 git pushを行うと以下のエラーメッセージが表示され、結局pushが行われません。 Counting objects: 3, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 219 bytes, done. Total 2 (delta 1), reused 0 (delta 0) error: unpack failed: unpacker exited with error code fatal: read error (Connection reset by peer) >>1にあるマニュアルの日本語訳は見たのですが、 git-daemonについてはまだ訳されておらず、よく分かりません。 すみませんがよろしくお願いします。
- 344 名前:343 mailto:sage [2009/06/25(木) 22:08:30 ID:Onb9g2E7]
- 上のエラーメッセージはLAN内のプライベートIPを用いてgit pushとしたときで、
127.0.0.1に対してgit cloneをした後、git pushとしたときは Counting objects: 5, done. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 258 bytes, done. Total 3 (delta 1), reused 0 (delta 0) error: unpack failed: unpacker exited with error code To git://127.0.0.1/hobby/git_test.git ! [remote rejected] master -> master (n/a (unpacker error)) error: failed to push some refs to 'git://127.0.0.1/hobby/git_test.git' ネットワークの設定がおかしいのかもしれません。ちなみにps aux | grep gitすると、 git-daemon --syslog --detach --reuseaddr --user=git-daemon --group=nogroup --pid-file=/var/run/git-daemon.pid --base-path=/srv/git --enable=receive-pack --export-all というコマンドで実行されているようです。
- 345 名前:login:Penguin mailto:sage [2009/06/25(木) 23:07:10 ID:E5OhASqI]
- >>343
うーん、git-daemonの書込みパーミッションとか? git-daemonにreceivepack設定してpushさせると匿名フルオープンになるみたいなので、 sshのほうが良いんじゃないかと思う。 てかgit-daemonでpush出来るとは知らなかった…
- 346 名前:343 mailto:sage [2009/06/25(木) 23:54:48 ID:Onb9g2E7]
- >>345
gitを使い始めて浅いもので理解していないのですが > sshのほうが良いんじゃないかと思う。 これはどういう意味でしょうか?man git-pushで ssh://[user@]host.xz/path/to/repo.git/ という表記は見かけましたが、このコマンドでpushするべきだとことでしょうか?
- 347 名前:343 mailto:sage [2009/06/26(金) 00:48:11 ID:sI4GnV0X]
- 書き込みパーミッションが無いことが問題だったようです。
まず、自分ユーザの権限が及ぶところにbareレポジトリ(~/repos/git_test)を作ってみたら $ git clone ssh://127.0.0.1/~/repos/git_test は出来ました。そこに編集後、$ git pushすることもできました。 >>344のプロセスにあるように、 git-daemonはgit-daemonユーザ権限で実行されているのですが、 git-daemonユーザが/srv/git以下に書き込み権限がないことが理由だったようです。 レポジトリ以下のファイルをgit-daemonユーザにchownしたら、 git push git://....ができるようになりました。 ところで、gitレポジトリに書き込み権限のあるユーザに 新しいレポジトリを作ってもらうようなコマンドって存在しますでしょうか? 例えばですが、git create git://host.xz/path/to/repo.git/ を発行すると、新しくrepo.gitというレポジトリを作ってもらうようなものです。
- 348 名前:login:Penguin mailto:sage [2009/06/26(金) 01:20:59 ID:uHyKMR0H]
- >>346
このへん参考になるかも www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/user-manual.html#pushing-changes-to-a-public-repository Gitの操作に慣れるという意味ではgit-daemonもsshも使わずに普通に同じホストで pushとかしても大体同じなので、それでもいいと思う。 gittutorial(7) www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial.html LAN内少人数で中央集権の置き場として運用したいということなら、 git-daemonで匿名pushOKにしてやっても良いかもしれないですが。 sshでpushはさせたいけどシェルは使わせたくないとか、本格的にGitを ホスティングしたいのであれば、Gitosisが便利ですよ。
- 349 名前:login:Penguin mailto:sage [2009/06/26(金) 02:03:14 ID:uHyKMR0H]
- >>347
>例えばですが、git create git://host.xz/path/to/repo.git/ >を発行すると、新しくrepo.gitというレポジトリを作ってもらうようなものです。 よくわからないけど、あったっけなぁ。ブランチを作るのはできるけど。。。 sshできるならそこのホストにログインしてgit initすれば出来る。 それか管理者が作っておいてあげるとか。 Gitosisはそのへんの管理が柔軟にできるようにはなってましたが。
- 350 名前:login:Penguin mailto:sage [2009/06/26(金) 14:12:47 ID:2GlKWaVl]
- Windows に cygwin 入れて使ってます。
ls ~ して出るところに .gitignore を置いているのですが、 git status すると、ignore 指定したファイルが # Untracked files: # (use "git add <file>..." to include in what will be committed) に出てきます。どのように設定すればよいでしょうか。
- 351 名前:login:Penguin mailto:sage [2009/06/26(金) 17:37:09 ID:JV5Aa+Hk]
- >>350
git config [--global] core.exludesfile ~/.gitignore
- 352 名前:login:Penguin mailto:sage [2009/06/26(金) 17:46:31 ID:2GlKWaVl]
- >>351
ありがとうございます。 それでも変わらず…。
- 353 名前:login:Penguin mailto:sage [2009/06/26(金) 18:38:46 ID:iVeHZqbP]
- >>352
core.excludesfile だよん
- 354 名前:login:Penguin mailto:sage [2009/06/26(金) 23:51:12 ID:p2TqTPM6]
- >>348
お返事ありがとうございます。 > Gitの操作に慣れるという意味ではgit-daemonもsshも使わずに普通に同じホストで > pushとかしても大体同じなので、それでもいいと思う。 git://~~~とかssh://~~~でなくともgit clone ~/path/to/repo.git/ という感じにネットワーク越しの操作じゃなくても使えるのですね。 こういうことができるなら、 わたしの使い方ならgitデーモン立ち上げなくともよさそうです。 いただいたURL、Gitosisについても今後の為に読ませていただきます。 ありがとうございました。
|

|