トップページ⇒linux
984コメント325KB

git スレッド

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2007/12/16(日) 18:40:39ID:GslAi8rs
ソースコード管理を行うバージョン管理システム、git について語ろう。

あの、リーナス・トーバルズだって、バージョン管理を始めたんだ。
http://www.kernel.org/pub/software/scm/git/

git チュートリアル (バージョン 1.5.1 以降用)
http://www8.atwiki.jp/git_jp/pub/Documentation.ja/tutorial.html
0352login:Penguin2009/06/26(金) 17:46:31ID:2GlKWaVl
>>351
ありがとうございます。
それでも変わらず…。
0353login:Penguin2009/06/26(金) 18:38:46ID:iVeHZqbP
>>352
core.excludesfile だよん
0354login:Penguin2009/06/26(金) 23:51:12ID:p2TqTPM6
>>348
お返事ありがとうございます。

> Gitの操作に慣れるという意味ではgit-daemonもsshも使わずに普通に同じホストで
> pushとかしても大体同じなので、それでもいいと思う。
git://~~~とかssh://~~~でなくともgit clone ~/path/to/repo.git/
という感じにネットワーク越しの操作じゃなくても使えるのですね。
こういうことができるなら、
わたしの使い方ならgitデーモン立ち上げなくともよさそうです。

いただいたURL、Gitosisについても今後の為に読ませていただきます。
ありがとうございました。
0355login:Penguin2009/06/29(月) 00:33:12ID:cM4lxNQ+
linuxデスクトップユーザーの特徴

�@インストールしただけで選民思想
�Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。
�Bコマンド打ち込んでプロだと勘違い
�C黙ってwindowsでも使ってろと間口を狭める
�D素人がだのなんだのとwindowユーザーを馬鹿にする
�Eカーネルいじればいいだろと無茶を要求
�Flinux開発者とのずれを認識できていない
�Gwineを使うくせにlinuxを再現しようとする動きがあるとたたく

       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |    __________
   ヽノ    /\_/\   |ノ  /
    ゝ   /ヽ───‐ヽ /  /  linuxはめんどくさくて難しい分だけ、
     /|ヽ   ヽ──'   / <  自称プロが悦に浸るためのツールとして最高なんじゃないだろうかwww
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0356login:Penguin2009/06/29(月) 11:19:14ID:ZvxokV6H
>>353
ありがとうございます。うまくいきました!
0357login:Penguin2009/07/02(木) 10:56:24ID:jjJW7RlL
git status を git st にしようと

git config --global alias.st status

しました。

git status では何も変更がないのに
git st すると膨大な modified: が出ます。
( modify してないのに )

git status = git st にするにはどうしたらいいでしょうか。
0358login:Penguin2009/07/06(月) 14:19:12ID:6WnxlUWF
BがAをcloneしているとして
B→Aにpushしたとき、warningがだだっと出て、Aではgit reset --hardしないとpushした内容になりません。
resetせずとも良いやり方はありますか?
(A→Bは操作できません)
0359login:Penguin2009/07/06(月) 14:59:26ID:qaJTybW2
>358
warningの内容が分からないので適当だけど、
A側に変更がある状態でpushしてるんじゃないかな。
pushする先はbareリポジトリのほうがいいよ。
03603582009/07/06(月) 18:06:27ID:6WnxlUWF
>>359
Thanks!
bareリポジトリにpushすれば良いのですね
今まで勘違いしてたけど調べて分かりました
0361login:Penguin2009/07/06(月) 19:01:30ID:tXUbQGaL
>>357
分かる方いらっしゃいませんか
0362login:Penguin2009/07/09(木) 08:58:11ID:neFt6wMr
>>357
俺は ~/.gitconfig にこうやって書いてるけど、全然問題なし。
[alias]
st = status
03633572009/07/09(木) 09:41:44ID:spRnDxWI
>>362
ありがと。そうか。。。
正しい git status の結果になるディレクトリと、
長大な modified が出るディレクトリがあることが分かりました。
仕方なく git status と書かれた gitst.bat を使ってます。
0364login:Penguin2009/07/09(木) 14:45:00ID:neFt6wMr
>>363
…もしかしてWindows?
ここLinux板だし、こっちでも聴いてみたらどうだろう。
http://pc12.2ch.net/test/read.cgi/tech/1242918130/
0365login:Penguin2009/07/09(木) 14:53:30ID:spRnDxWI
>>364
Windows ( cygwin ) です。
そっちで聞いてみます。ありがとうございました。
0366login:Penguin2009/07/20(月) 12:59:20ID:y3l+3ouD
GitHub で公開されてる fork 元で、バカみたいに大規模なファイル構成とファイル内容の全変更がありました
いちおうこれに追随しなければならないんですが、
手元の適当なブランチに試しにpullしたら衝突解消がとってもめんどくさいことになって泣きました

手元にブランチが20個くらいあります。全部に対してこれを繰り返すのは嫌です
きっとなんか便利な方法があるんだとは思うんですが、何をすればいいものなんでしょうか?
0367login:Penguin2009/07/20(月) 14:29:02ID:/rqSq1cX
>>366
WWW::Mechanize?
0368login:Penguin2009/07/20(月) 19:07:11ID:q2y5p7aG
大量の衝突をうまくマージする方法じゃないの?
取得を自動でやる方法じゃなくて
0369login:Penguin2009/07/20(月) 19:18:33ID:/rqSq1cX
>>368
ごめんなさい、>>367は「バカみたいに大規模なファイル構成とファイル内容の全変更」があったものについての予想です。
0370login:Penguin2009/07/20(月) 20:05:55ID:ma9OV7L+
Ruby版の?

module WWW
 class Mechanize
 end
end
を
class Mechanize
end
# と外出しして
module WWW
 Mechanize = ::Mechanize
end
で後方互換性を保つとゆー大顰蹙。

# nbsp の使い方はこれであってるのだろうか
0371login:Penguin2009/07/20(月) 22:36:14ID:1OZrXuJk
うぉーなんだそれは…
0372login:Penguin2009/07/21(火) 04:43:12ID:nT3Auy6R
論理構造的にはともかく、diffの各行的には単にインデントが浅くなっただけじゃん
module WWW と end のとこだけだろ、それ引っかかるの
0373login:Penguin2009/07/21(火) 12:41:57ID:Y7zra871
>>366
git rerere --help
0374login:Penguin2009/07/21(火) 13:52:37ID:HzmMUGDt
GitHubに試しに登録してpushまで終わったんだが、
検索にかからない、自分のIDすらかからない・・・なんだこりゃ
0375login:Penguin2009/07/22(水) 06:38:32ID:dp/16pzu
>>372
これ、lib/www/mechanize/ 以下のファイルが全部 lib/mechanize/ に移動してるんだよね
手元では lib/www/mechanize/ の中に編集されたファイルがたくさんあるだろうから、
rebase で遡って差分適用するたびに衝突起こすな
0376login:Penguin2009/07/24(金) 14:17:45ID:6MAoexAT
git commit したら自動で -v オプションを付ける方法はなんでしょうか
0377login:Penguin2009/07/26(日) 10:29:12ID:r004HONT
>>376
aliasを設定するとか。
0378login:Penguin2009/07/29(水) 21:06:50ID:NqWOLxIQ
1.6.4 age
0379login:Penguin2009/08/02(日) 06:28:58ID:ANiJcqBB
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06767-9
原書はどんなできなのかな?
0380login:Penguin2009/08/02(日) 09:08:14ID:1MTX0arw
>>379
Pragprogの原書なのでブランド買いした。

CVS/Subversion/Mercurialを使った経験ありの俺的にはそれなりに
使えるようになった。

管理オブジェクトの話とかplumbingコマンドのレイヤーについては
さほど載ってなかったはず。
0381login:Penguin2009/08/02(日) 19:51:08ID:ANiJcqBB
>>380
レビュー、ありがとう。
この訳本が出たら、立ち読みしてみて、考えよう。
0382login:Penguin2009/08/03(月) 14:34:54ID:RIRtotud
gitとsquidを連携したwebキャッシュ作りたいんだけど
gitを改造しないでsquidと連携させることできる?
0383login:Penguin2009/08/03(月) 16:11:32ID:T85XxxMu
git cvsimport
でCVSリポジトリを変換しようと思ったらメッセージが化けました。
今までTortoiseCVS SJIS版(あろはだよCVS版)を使っていたのでそうなったんだと思いますが、
このメッセージをUTF8に変換するにはどうしたらいいんでしょう?
どなたかお助けいただけますと幸いです。よろしくお願いします。
0384login:Penguin2009/08/03(月) 20:24:19ID:6y63jn1e
>>382
「連携」が何か他の人に伝わってる、と思うのはなぜ?
0385login:Penguin2009/08/06(木) 07:01:18ID:KCKgFcNy
>>383
おれはEUC-JPなcvsからcvsimportしたやつは、
git config i18n.commitEncoding EUC-JP してるけど。
まああたらしいログをUTF8で書くとやっぱり化けるけど。
基本自分は英字でログかくから気にしてない。
0386login:Penguin2009/08/06(木) 07:05:35ID:KCKgFcNy
とカキコしてから気になって調べたら、
git config i18n.logOutputEncoding UTF8すると
あたらしくUTF8で書いてもしっかり全部化けずにいけますた。
0387login:Penguin2009/08/10(月) 17:32:11ID:2cu11IQe
ずっと思ってたんだけど、merge って意味なくね?
一意なハッシュで管理されてるなら cherry-pick だけで十分じゃね?
ローカルなブランチが晒されるしコミットメッセージの編集もできないし merge は害悪しか思いつかないんだが
0388login:Penguin2009/08/10(月) 17:41:46ID:+bQVdOii
うん、やっぱ言葉が悪いよな

私たちが図を書かず頭のイメージだけで考えるところの「ブランチのマージ」は、
たいていの場合、適切な方向に rebase することで達成される
git を使っていて「マージ」したいと思ったなら、まずは rebase を検討すれ
0389login:Penguin2009/08/10(月) 17:42:14ID:Ln/irodm
>>387
cherry-pickしたらハッシュ変わるけどどうすんの?
0390login:Penguin2009/08/10(月) 17:59:06ID:+bQVdOii
たぶん、衝突するようなマージばかりを経験してるのだと思われ
0391login:Penguin2009/08/10(月) 18:11:48ID:Ln/irodm
公開したらrebase出来なくなって、FFできそうなやつでもmergeするしかなくなるってのは
どうにかならないもんかとたまに思うことはあるな。まあしょうがない気はするけど。

FF出来ない時にマージコミットつくらずに1つの新しいコミットにまとめてしまって、
その上で便宜上だけでも元のコミット群はこれらです、って感じに参照させることが
出来ればいいなーと妄想することがある、けどそれって結局マージと同じことなんだよね。
ただ、受け入れ側でマージコミットを嫌がる場合も多いので、そんな機能もあったら便利かも
しれないとかまた妄想。
0392login:Penguin2009/08/10(月) 20:56:04ID:i4bAM8hh
えーと、こっちのブランチでcherry-pickしてないのどれだっけ?
とかなる希ガス
0393login:Penguin2009/08/10(月) 21:07:20ID:IbZ/Z+oA
cp はブランチ作り切った最後に行う
cp を頻繁に行う人はコミットメッセージも cp 時に有機的に書き換えてるはずなので
よっぽど変なまとめ方しない限り大丈夫

ウィンドウ2枚開けて片方に git log の結果を常に表示しながら cp しないといけない状況ばかりなのには同意はしておく
0394login:Penguin2009/08/10(月) 23:47:00ID:nFA1XbhB
>>391
公開してるリポジトリに直接commitしたりとかしてんの?
0395login:Penguin2009/08/10(月) 23:57:49ID:Ln/irodm
>>394
いや、pushしてるよ。ただフォーク元も公開してるから。
0396login:Penguin2009/08/11(火) 00:18:25ID:gCZov+kt
mergeっていけないことなのか?必要悪なのか?
0397login:Penguin2009/08/11(火) 01:51:55ID:9aVIR9qR
pushしたブランチの履歴は変更してはいけないというルールがあるからな

>>396
衝突しない理想的な世界であれば好ましい
衝突が起こったとたん別のコミットになるからシステムデザイン上は駄目
「AをしてBをしてCをする差分適用」であるコミットが衝突後
「AをしてBをしてXをしてCをする差分適用」というコミットに摩り替わっちゃやっぱ駄目だろ

「AをしてBをしてCをする差分適用であるが、今回に限ってはBのあとにXであるさらなる差分適用がある」
という情報で格納すべき
ハッシュ値は不変で
このコミットを cherry-pick したらまずは「AをしてBをしてCをする差分適用」が試されるべき
0398login:Penguin2009/08/11(火) 06:08:40ID:od33ZDSx
>>397
ハッシュ値をどうやって計算してるか知らないの?
0399login:Penguin2009/08/11(火) 08:06:48ID:hQImHIEr
ハッシュ値は全く同じアルゴリズムが使われてさえいればどう計算してもいいんだよ
ハッシュというとファイルをバイト列として利用しなければいけないとしか思いつかない人が稀にいるが
0400login:Penguin2009/08/11(火) 10:38:30ID:AVaSZeyh
resolveがある場合のgitのマージコミットって、
> 「AをしてBをしてCをする差分適用であるが、今回に限ってはBのあとにXであるさらなる差分適用がある」
におけるXになってない?

そもそもA B Cが何を指してるのかよくわからんが。
0401login:Penguin2009/08/12(水) 15:06:33ID:8h+T8Ju7
svn でさほど不満はないのですが、ファイル数、ファイルサイズともに
大きなプロジェクトで update, commit 速度が遅く困っています。
git に乗り換えれば速度少しでも早くなるでしょうか?また、各
ローカル側の hdd 使用量は svn より増えると考えておいてよいで
しょうか?
0402login:Penguin2009/08/12(水) 15:53:46ID:mycJo5BE
>>401
速度はたぶんものすごく早くなると思う。
ローカル側のディスク使用量はそれほど気にならないよ。

ただし操作方法、概念が異なるので、もしも仕事で大人数でやるのなら、
習得させるのにそれなりに工数がかかると思う。
0403login:Penguin2009/08/12(水) 17:45:44ID:Z/KJAJVW
では、ひとまず svn のリポジトリを、残し一部メンバのみ git 経由で
アクセスする感じで検証でしょうか。ただ、この使い方だと速度面の
メリットはわからないですよね。大プロジェクトなので難しいところ。
0404login:Penguin2009/08/12(水) 18:24:39ID:FOPhwWTC
>403
今一環境がかんないんだが、大プロジェクトでも
updateとcommitなんて日に一度くらいじゃね?

自分だけgit-svn使えばローカルだけで大抵の用事は済むので、
快適になると思うよ。
0405login:Penguin2009/08/12(水) 18:36:00ID:Y2NYIgNJ
一日最低 10 回は commit してるなぁ
0406login:Penguin2009/08/12(水) 19:12:05ID:4qtNGkYm
commit --amend含めると30いくかな
0407login:Penguin2009/08/12(水) 19:48:18ID:pDDmfa5D
すみません。commitの回数つながりで、ちょっとおたずねします。

一般的にcommitって細かく(最低でも1つの機能の追加ごとに)やるものだと思うのですが、
調子に乗ってコーディングしていくうちに、手元で大量に変更してしまいました。
こういうときって、どうされていますでしょうか。

diffの出力を手作業で加工して、追加した機能(関数)もしくは変更部分ごとにパッチを作って、
それらを取り込んで→コミット...を繰り返せば何とかなると思っているのですが、
他によい方法はないでしょうか。
# 対象は1ファイルです。
0408login:Penguin2009/08/12(水) 20:05:23ID:dme4v7A0
>>407
そんな時のための git add -p じゃないか
0409login:Penguin2009/08/12(水) 20:25:02ID:mycJo5BE
>>408
最近それ知って、gitすげーと思った。
git add -i なんかはまだ使いこなせないが、極めたら世界が変わりそうだ。
0410login:Penguin2009/08/12(水) 20:26:37ID:3jImDu3O
>大プロジェクトでも
>updateとcommitなんて日に一度くらいじゃね?

日にもよりますが1日10回ぐらいですかね。プログラマは20人以上
いますので全員合わせるととんでもない量の svn commit メールが来て
大変です。データサイズも200GBくらいはあるんじゃないかな。
TortoiseSVN で commit をルートディレクトリから行うと5分待ちな
状態で億劫なのでサブディレクトリからこまめにあげて上げわすれとか
出るほどのひどい状態です。
04114072009/08/13(木) 07:17:33ID:iA5oHuEp
>>408
うわ〜〜〜。んじゃ、これは!!
すげ〜〜。

教えていただきありがとうございます。
今までの苦労は何だったんだって感じ...。
ほんと、gitすげーよ。

addのオプションか。diffとかpatch-formatとかみてたよ orz
っていうか、それ以外のaddのオプションもすごいのな。
なんか、今までやっていたことが「バージョン管理するための管理」みたいな
ほとんどが不毛なことって気がしてきた...。
もちっと精進するよ。
またお願いします。
0412login:Penguin2009/08/13(木) 15:27:28ID:tyyaneTm
ローカル環境で git-daemon を立ち上げました。

サーバが openSUSE で、
クライアントが Windows Vista。

ローカルなので ssh なしでやりたいのですが、
どう設定すればいいでしょうか。
0413login:Penguin2009/08/13(木) 15:44:37ID:zQQwCkns
まあ、色々方法はあるわな、httpとかxinetdとか
てっとりはやくやってみたそうだから、xinetdでやってみたら?
xinetd
0414login:Penguin2009/08/13(木) 15:49:26ID:zQQwCkns
xinetdを起動する
xinetdにgitを登録する(gitポートにリクエストがあったとき、xinedがgit-daemonを呼び出す)
あとは、gitリポジトリ(コンテンツ)の用意と、クライアントへのgitのインストールで
クライアントから、git cloneっしょ
0415login:Penguin2009/08/13(木) 15:57:01ID:tyyaneTm
>>413-414
ありがとうございます。
xinetd、挑戦してみます。
0416login:Penguin2009/08/13(木) 16:30:15ID:F9EvWFzj
>>412
>>343-354
04174122009/08/13(木) 16:48:16ID:tyyaneTm
>>416
躓いて見てみたらw
ありがとうございます。

私も openSUSE をサーバに、
複数人で開発したい用途。

そして、どうやって新規リポジトリを作ろうかと思っていたので、本当に既視感。

再度、挑戦!
0418login:Penguin2009/08/13(木) 18:29:12ID:tyyaneTm
openSUSE で git-daemon を xinetd で起動しようと思っています。
( ssh を使うのが面倒なので… )

sudo zypper install git-daemon
sudo /usr/sbin/rcxinetd restart

して、ローカルの Vista から git clone するとエラーになります。

$ git clone git://example/test/test.git
fatal: read error (Software caused connection abort)

サーバの /var/log/message を見ると

git-daemon: [23646] cannot open pid file /var/run/git-daemon.pid: Permission denied

が出ています。とりあえず chown & chgrp & chmod して

ls -l /var/log/git-daemon.pid
-rw-r--r-- 1 git-daemon nogroup 6 2009-08-13 18:24 git-daemon.pid

とし、再度 git clone すると、やはりエラーになり、/var/log/message には下記エラーが出ます…。

git-daemon: [23765] cannot drop privileges

うまく動いている方、アドバイスお願いします。
0419login:Penguin2009/08/13(木) 18:36:55ID:cf0vEXgI
cannot drop privileges ということなので、xinetdの設定のほうで、
git-daemonを動かす権限をsetuidを呼べる人(rootとか?)にすればい
いのかもしれない。
0420login:Penguin2009/08/13(木) 20:51:01ID:Vyg2UZ2a
ありがとうございます。
setuid...
調べてみます。
04214182009/08/14(金) 10:12:25ID:vxCEaCUs
アドバイスを元に /etc/xinetd.d/git の user/group などを root にしてみたところ、
/var/log/message のエラー内容が変わりました。

$ tail /var/log/message
git-daemon: [25819] unable to allocate any listen sockets on host (null) port 9418

$ lsof | grep git
git-daemo 25772 root cwd unknown /proc/25772/cwd (readlink: Permission denied)
git-daemo 25772 root rtd unknown /proc/25772/root (readlink: Permission denied)
git-daemo 25772 root txt unknown /proc/25772/exe (readlink: Permission denied)
git-daemo 25772 root NOFD /proc/25772/fd (opendir: Permission denied)

ハマってきたので zypper remove git-daemon して、
ゼロからやり直してみたところ、やはり同じ症状に…。

openSUSE スレで聞いた方がいいのかもしれませんが、
その前に、ここでお分かりになる方はいらっしゃいますでしょうか。
0422login:Penguin2009/08/14(金) 10:35:16ID:Q/iZulHO
>>421
ttp://www.aoisakura.jp/tdiary/?date=20081212
おなじエラーではまってる人がいました。
以前動かそうとしていたものが正常終了していないのでは?
04234212009/08/14(金) 10:56:54ID:vxCEaCUs
ありがとうございます。
プロセスを kill -9 し、xinetd を再起動しました。

$ sudo lsof | grep git
xinetd 26055 root 5u IPv4 1666608 0t0 TCP *:git (LISTEN)
$ sudo kill -9 26055
$ sudo /usr/sbin/rcxinetd restart

今度は readlink: Permission denied が出ないのでいい感じ!

$ sudo lsof | grep git
git-daemo 26095 git-daemon cwd DIR 253,3 4096 2 /
git-daemo 26095 git-daemon rtd DIR 253,3 4096 2 /
git-daemo 26095 git-daemon txt REG 253,3 196936 10356883 /usr/lib64/git/git-daemon
git-daemo 26095 git-daemon mem REG 253,3 47784 9946462 /lib64/libnss_files-2.9.so
( 省略 )
git-daemo 26095 git-daemon 2u CHR 1,3 0t0 2055 /dev/null
git-daemo 26095 git-daemon 3u IPv6 1666970 0t0 TCP *:git (LISTEN)
git-daemo 26095 git-daemon 4r FIFO 0,7 0t0 1666971 pipe
git-daemo 26095 git-daemon 5w FIFO 0,7 0t0 1666971 pipe
xinetd 26136 root 5u IPv4 1667341 0t0 TCP *:git (LISTEN)

と思ったのですが、

windows> git clone git://example/test/test.git
fatal: read error (Software caused connection abort)

$ tail /var/log/message
git-daemon: [26178] unable to allocate any listen sockets on host (null) port 9418

と変わらず…。openSUSE を再起動してみます…。
04244212009/08/14(金) 11:00:50ID:vxCEaCUs
余談。
zypper install git-daemon で作られる /etc/xinetd.d/git には

--base-path="/srv/git"

と書かれていて、" を消して

--base-path=/srv/git

としないといけなかった。
昨日からハマっているので、午前中の段階で精神的に疲労中w
04254212009/08/14(金) 11:14:13ID:vxCEaCUs
再起動しても

$ sudo taile /var/log/message
git-daemon: [3288] unable to allocate any listen sockets on host (null) port 9418

$ sudo lsof -i:9418
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
xinetd 2903 root 5u IPv4 6924 0t0 TCP *:git (LISTEN)
git-daemo 3296 git-daemon 3u IPv6 9929 0t0 TCP *:git (LISTEN)

xinetd と、普通のサーバが二重に立ちあがっているのが原因でしょうか ( しかも IPv6 )。

git-daemon を kill -9 しても自動で立ち上がります。
これを止める方法を探しますが、アドバイスがあると嬉しいです。
0426login:Penguin2009/08/14(金) 11:23:39ID:Q/iZulHO
xinetdから起動されたgit-daemonが、リクエストを処理し終わっても
そのままデーモンとして残り続けていませんか?
xinetdから起動するなら、処理ごとに終了するべきですね。
git-daemonに渡せるオプションはありませんか?
--inetd だろうか。
04274212009/08/14(金) 11:43:01ID:vxCEaCUs
>>429
本当にありがとうございます!!
git clone できました!!!

今後の人のためにまとめると、
openSUSE 11.1 で
$ sudo zypper install git-daemon
したのを ssh 使わずに利用したいなら
/etc/xinetd.d/git を下記に変更。

■ BEFORE
server_args = daemon --syslog --detach --reuseaddr --user=git-daemon --group=nogroup --pid-file=/var/run/git-daemon.pid --base-p
ath="/srv/git"

■ AFTER
server_args = daemon --syslog --detach --reuseaddr --inetd --export-all --pid-file=/var/run/git-daemon.pid --base-path=/srv/git

変更後、xinetd の再起動を忘れずに。

$ sudo /usr/sbin/rcxinetd restart

あー、今日はもう帰ってビール飲みたい。
04284272009/08/14(金) 11:43:52ID:vxCEaCUs
興奮して間違えましたが、429 さんではなく、>>426 さんです。
そのほか、いろいろ助言を下さった方、ありがとうございました。
0429login:Penguin2009/08/17(月) 12:41:58ID:w4WoSrsO
read only で構わないのですが、linus 達がいじっている
linux kernel tree 本線を git で、ローカルのlinux PC 上に
同期できるでしょうか?その場合、どうすれば良いですか?

0430login:Penguin2009/08/17(月) 13:25:08ID:IIDjTJ7I
linux kernel git torvalds

でぐぐれ
0431login:Penguin2009/08/17(月) 14:01:07ID:w4WoSrsO
ありがとうございました。逝ってきます。
0432login:Penguin2009/08/18(火) 00:02:03ID:cqrV6ZTW
>>429
>read only で構わないのですが、
0433login:Penguin2009/08/18(火) 14:17:17ID:LNnWooNT
コミットの適切な粒度がわからない
GitHubのNetworksでどばっと20個くらいドットが突出すると悩む
これやっぱ手作業でまとめておくべきだったかもしれない、とか

手元のコミットは細かくして公開するブランチに追加するときにまとめるのがいいのだろうか
でもコミットを1個ずつ扱うのってブランチのメリットなくね、とも思ってみたり
マージとかができてこそのブランチだろう、とも思う
0434login:Penguin2009/08/18(火) 14:41:53ID:Kn1/NE8Q
>>433
何がしたいのかが分かって、適度な量の差分があって、機能単位にまとまっていれば
(混ざり合っていなければ)それでいいんじゃないかな。
後はバリバリ作り中なのか、機能追加中なのか、とか、、、
同時にコーディングしてる人の数にもよるね…
俺はキレイなコミットを作りたいほうなのでけっこうまとめてからにしてしまうなぁ
0435login:Penguin2009/08/18(火) 22:05:49ID:Gf8+h6+U
最近、なんかgitの勢いすごいね
そこら中で使われはじめて
リーナスのいうように、kernel特化でほそぼそといくと思ってたよ
0436login:Penguin2009/08/19(水) 12:38:13ID:pceGE7iL
hg派だったがリスク分散のため入門gitで勉強中。
微妙な違いがいやらしいなぁ。
viとemacsは同時に使えるが
hgとgitはかなり混乱しそうだ。
0437login:Penguin2009/08/19(水) 23:02:46ID:O0WnAYMJ
monotoneどうよ?
0438login:Penguin2009/08/20(木) 04:02:05ID:2o0Eo2gm
>>433
そんなレベルの人間が公開なんかするな
迷惑だから
0439login:Penguin2009/08/20(木) 04:24:39ID:amhGymTU
               .|  
               .|  
    ∩___∩    |  
    | ノ\   ,_ ヽ  .|  
   /  ●゛  ● |   .J  
   | ∪  ( _●_) ミ 
  彡、   |∪|   |     
 /     ∩ノ ⊃  ヽ
 (  \ / _ノ |  |
  \  "  /  | |
   \ / ̄ ̄ ̄ /
0440login:Penguin2009/08/27(木) 18:25:34ID:AEidpR6i
git push した時に表示される、

Total 15 (delta 13), reused 0 (delta 0)

の delta や reused って何でしょうか?
0441login:Penguin2009/08/27(木) 19:25:19ID:HNb4zbwi
git を使い始めて、また git 関連の文書を読んでて気になった点。

・index, cached, stage といった用語を一貫して欲しい
・obj, ref などが何の説明もなく頻繁に登場するが、何を指しているのか不明
0442login:Penguin2009/08/27(木) 21:44:24ID:KnkKlcU8
>>441
>index, cached, stage といった用語を一貫して欲しい
MLしばらく読んでからパッチ送る、とか。
>obj,ref
git help tutorial-2
あたりかな?
0443login:Penguin2009/08/28(金) 07:32:58ID:sWD41Zdb
>>441
> ・index, cached, stage といった用語を一貫して欲しい
無理。indexで統一できなくはないけど、どういう使い方をしているかで呼び分けてるから。
ML漁ればどういう意図で呼び分けてるかの回答はあるよ。
0444login:Penguin2009/08/28(金) 08:05:49ID:fZ8G9Ga3
それじゃダメだろふつー
用語集はつけとくべきだな
0445login:Penguin2009/08/28(金) 12:15:32ID:cXIbI/jo
stageは利用者側の視点。
indexは実装者側の視点。
cacheはどういう発想なのか不思議。
0446login:Penguin2009/08/28(金) 13:53:30ID:xwPQ04ed
用語集も見つけられないの? 何なの?
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#glossary
0447login:Penguin2009/08/29(土) 14:57:13ID:U8/P76bc
>446
cache Obsolete for: index.
えらそうなこった
0448login:Penguin2009/08/29(土) 16:10:23ID:+Pa25OBz
ところで
> Truth be told, it can also contain a second, and even a third version of a working tree
これHamanoさんか誰かの講演を聞いた人のメモで読んだことが
あるのを思いだしたんだけど、てことは何度かgit stageしたそれぞれの
バージョンをみたり、バージョン間で差分見ることができるってこと?
もしそうなら、どういうコマンドでできるの?
0449login:Penguin2009/08/31(月) 02:43:09ID:VXNlRilH
git のドキュメントを読んでいる最中なのですが、
subversion と違って履歴を持つオブジェクトの概念があるわけではないので
subversion のような改名いかんに関わらず履歴やdiffを追えるという特徴は
git にはないと理解しました。あってますか。
0450login:Penguin2009/08/31(月) 11:11:59ID:kZiorwCa
git commit -m でコマンドラインから直接コミットログを書いた場合と
git commit で開いた vim から書いた場合で文字コードが違った(上記はUTF-8,vimはiso-2022-jp)ので、
git log 等で見ると vim から書いた方が文字化けしてしまいました。
git log --encoding=iso-2022-jp とすれば文字化けせずに見られるのですが、やはり文字コードを統一したいので log を直接編集したいのですが、
.git/logs/HEAD
.git/logs/refs/heads/master
を編集しても文字化けは解消されませんでした。
どのファイルを編集すればよいのでしょうか?
0451login:Penguin2009/09/01(火) 01:17:08ID:BBTYztuT
>>449
git log -p --follow <path>
■ このスレッドは過去ログ倉庫に格納されています