トップページ⇒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
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>
0452login:Penguin2009/09/01(火) 01:22:40ID:BBTYztuT
>>450
git commit --amend
でHEADのコミットメッセージ入力をやりなおせる

または、
git reset HEAD^
で一旦HEAD^まで戻してやりなおす。

ちなみに
git commit -F <file>
でファイルからコミットログを読ませることが可能なので試してみて
試してないが -amend との同時利用も可能なんじゃないかな


0453login:Penguin2009/09/01(火) 06:39:58ID:BUwsap/v
>>451
どうも。コミットを追跡することでやっているみたいですね。
でもmv後修正してからコミットしたり、あるいはcpでフォークしたり(ファイル
を分割するときとか)はやはり追跡できないみたいですね。
0454login:Penguin2009/09/01(火) 11:24:42ID:qONSM/kc
>>450 を読んで気づいたけど、
command line のcommit log の文字コードって、今まで考えてもいなかったよ。

で、i18n.commitEncoding と i18n.logOutputEncoding の値を、
変えて色々試してみて、ワザと異なる文字コードの時の動作が
しっくりこなくて調べた。

解ったことは、
message が commit object に格納される時って、
文字コードを変換してくれるんじゃなくて
i18n.commitEncoding で、指定した値をcommit object に

encoding EUC-JP

って、挿入してるだけなのね。
encoding で指定しない時が UTF-8 で、これがデフォルトってことみたい。

出力時にi18n.logOutputEncoding を元に変換する。

だから、commit message も、raw って言えば raw なのね。

ん 、知りませんでした。ビックリ。

これで、コード変換に纏わる面倒な部分を、(出力時にまわして)
うまく避けてることになるのかな。
0455login:Penguin2009/09/01(火) 12:01:26ID:bYVC5N8B
tortoisegitの話題はここでいいんだろうか。
indexの存在を完璧に隠蔽しているのはかなり大胆な設計だと思う。
0456login:Penguin2009/09/01(火) 12:38:37ID:Cu6PEjTW
>>452
ar
0457login:Penguin2009/09/01(火) 12:39:46ID:Cu6PEjTW
>>452
ありがとうございます。出来ました。
--amend は直前のコミットしか編集できなかったのですが、
ttp://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#rewriting-one-commit
を見て、git rebase と組み合わせると以前のコミットでも修整できることが分りました。

>>456 はミスです...
0458login:Penguin2009/09/01(火) 15:48:31ID:cQoB1n74
修正、ではない
残念ながら
0459login:Penguin2009/09/01(火) 17:44:29ID:Cu6PEjTW
>>458
古いコミットを削除?して新たにコミットしている、という事でしょうか?
0460login:Penguin2009/09/01(火) 19:42:56ID:+F0cM0kX
ハッシュ見れ
0461login:Penguin2009/09/01(火) 20:44:28ID:2vtwePxM
>>460
なるほど。
git show "古いハッシュ"
で、古いコミットのログが見れました。
削除はしてないんですね。
0462login:Penguin2009/09/01(火) 21:41:34ID:miUg4h5c
>>461
gcしたら消えるよ。どこからも参照されてなければ。
0463login:Penguin2009/09/04(金) 22:13:13ID:jVdAqUn/
あるリポジトリとそのミラーがいくつかあって、最初にcloneしてきた
ところから普段はfetchしている
$ git fetch
んですが時々別の場所からfetchしたい場合があります。
$ git fetch another_mirror
こういう場合、各ミラーをそれぞれremoteとして登録すべきなんで
しょうか。調べた限りではurl.<url>.insteadof=<alias>を
使ってURLに別名をつけられるのですが、fetchコマンドの最初の
引数にこのURL別名だけを与えても実際にはデータが落ちず、refspec
まで書かないといけなくて面倒です。
0464login:Penguin2009/09/11(金) 20:42:02ID:Crcv3Tii
間違えた commit は git commit --amend で戻せますが、
git push したのを取り消すにはどうしたらいいでしょうか?
0465login:Penguin2009/09/11(金) 21:24:08ID:GPAiiF+d
>>464
「取り消す」というのがamendしたものを反映したいという意味なら
git push -f
で上書きできるよ。
0466login:Penguin2009/09/11(金) 21:34:54ID:Crcv3Tii
>>465
ありがとうございます。
history からも消すことはできますか。
0467login:Penguin2009/09/11(金) 21:37:03ID:GPAiiF+d
>>466
> history からも消すことはできますか。
んん? 何を消したいのかもう少し詳しく。
04684662009/09/11(金) 22:41:07ID:Crcv3Tii
>>467
github に git commit & git push してから間違いに気づいてしまったのです。
それを消したいのです。git log から消えたり、
github は history を見ることが出来ますが、それからも消えるとありがたいです。
0469login:Penguin2009/09/11(金) 22:47:34ID:CyE8alMj
>>468
何もかも上書きさるよ。
ただgithubってことは既に公開されてるから、他の人があれ何だこれこわい、
ってなるかも。つまりあんまやるべきじゃない。
04704662009/09/11(金) 22:50:59ID:Crcv3Tii
>>469
ありがとうございます。
確かに消すのはよくないですよね。
( 別の場所から commit したから名前を間違えてしまってw )
0471login:Penguin2009/09/16(水) 17:10:33ID:YPgdd8OB
リモート側にpushされてきた変更を反映するのってどうやるんですか?
git log では表示されるんですけど、master に反映されていません・・・。
0472login:Penguin2009/09/16(水) 17:13:27ID:XD22rFwt
>>471
「反映」を適当に解釈してエスパーしてみると、
git pull
0473login:Penguin2009/09/16(水) 17:19:00ID:YPgdd8OB
>>472
リモート自身に push されてきたものを、自身の master に反映させる、でした^^;
リモート(origin)側で git pull する場合ってどう指定するんでしょう?
0474login:Penguin2009/09/16(水) 17:40:50ID:XD22rFwt
>>473
「自身の master に反映させる」なら git pull だよ。
リモート(origin)側をどうにかしたいの?
0475login:Penguin2009/09/16(水) 18:07:18ID:YPgdd8OB
>>474
はい。その通りです。
サーバに置いたoriginに対してローカルからpushした結果を、originのmasterに反映させたいんです。
0476login:Penguin2009/09/16(水) 18:45:32ID:XD22rFwt
>>475
ローカルのmasterをoriginのmasterに突っ込むにはこう
git push origin master:master

文章から推測するにいまひとつ理解できてないようなので、この辺を読むことをオススメします
http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial.html
0477login:Penguin2009/09/16(水) 19:43:56ID:JwlYDLcs
リモートがbareじゃないのでは?
git checkout -f HEAD
0478login:Penguin2009/09/16(水) 22:23:53ID:Wm2GOTku
『リモートに push したのに反映されていない』とエスパーしたが
それなら git remote update だよ
0479login:Penguin2009/09/16(水) 23:36:01ID:YPgdd8OB
皆さんレスありがとうございます。

仰る通りリモートは bare じゃないです。

git checkout -f HEAD

でリモートの状態を最新にできました!
ありがとうございました!
0480login:Penguin2009/09/17(木) 01:26:37ID:P4kqmOWE
?
0481login:Penguin2009/09/21(月) 13:23:23ID:GwGS71uz
gitメンテナであるHamano氏自身による「入門Git」発売記念age
http://www.shuwasystem.co.jp/products/7980html/2380.html
# 翻訳本の「入門git」じゃないぞ

Amazon はすでに売り切れ状態みたいだけどね。
0482login:Penguin2009/09/21(月) 13:34:20ID:zscoFCMs
gitは使われ始めたばかりだから、一番最初にgitの解説書書いたら、売れそうだな
0483login:Penguin2009/09/21(月) 13:57:00ID:ZVNst0Rd
>>482
???
0484login:Penguin2009/09/21(月) 14:34:05ID:vL4ajUNH
>>481
ぎゃー
つい最近翻訳本のほう買っちまったぜ…

Hamanoさんが書くべきだろとは思ってたけど、書いてたのか〜
目次だけ見たけどすごいしっかりしてそうだ。読むのが楽しみ!
0485login:Penguin2009/09/21(月) 14:36:17ID:Sxx9inOy
まあ、翻訳本もPragProgブランドだし、損にはならないんじゃね?
0486login:Penguin2009/09/21(月) 14:57:30ID:GwGS71uz
>>484
ここを読んでもっとwktkするがよい
http://gitster.livejournal.com/38015.html
0487login:Penguin2009/09/21(月) 21:31:18ID:vL4ajUNH
>>486
ありがとう、livejournalか、そこ知らなかったよ。
wktkが止まらないので、明日本屋うろついてくる。Amazon売り切れ過ぎ、入荷予定遅すぎ。
0488login:Penguin2009/09/22(火) 20:31:15ID:ssamdIV8
きっと、Linusの「はじめに」の最後の一文を読んで、
にんまりしてしまうに 1000カーネル
04894632009/09/23(水) 18:27:17ID:vjEE4TYp
誰か...
0490login:Penguin2009/09/23(水) 21:43:44ID:jo5qX9Sx
>>463
remote 登録すると明示的に指定しなくても、そのリポジトリの全ブ
ランチを fetch してくれるのは.git/config 内でそのリモートリポ
ジトリの設定の fetch の行におまじないが書いてあるから。

別名定義したいほどの頻度で使うなら素直に remote add しろや
0491login:Penguin2009/09/23(水) 22:37:49ID:O/8ntIxQ
>>490
>別名定義したいほどの頻度で使うなら素直に remote add しろや
>>463にはすまんが、俺もそう思ってた。
てか、refspecまで書かなきゃダメ、とかいろいろ試してみたんだったら、
MLで質問したほうが良いんじゃないかな。bugかもしれないし。
0492login:Penguin2009/09/24(木) 00:06:18ID:h3tEtuix
>>491
んー。fetch の refspec はリモートリポジトリのどのブランチをロー
カルのどの参照名で格納するか(remote/<hoge>/master とかね)を指
定するものだから、 fetch のときに指定必須(*1)なのはしょうがな
いんじゃね?gitからしてみりゃ「どこに格納すりゃいいのよ?」っ
て話でしょ。普通はそれが面倒だから remote 登録しちゃえば?と
思うんだけどねー。

*1 何も指定しなければリモートの master がローカルの
FETCH_HEAD として格納されるはず。

「全部 fetch して remote/<URL>/* に自動的に格納されろや」とか
いう話ならMLに提案するほうがいい話だと思う。もし提案するとし
てもremote add するよりも、「デフォルトでrefspecを指定しない
場合にその挙動をとるほうがより優れている」、という論拠が必要
だと思うよ。

あと、もし pull request 受けるような状況であれば、みんなpull
用のbranch切って pull しちゃってる(or master に pull して結果
が気に入らなければ reset )だろうから、単発の fetch のrefspec
指定を楽にしたい理由があんま思いつかない。
0493login:Penguin2009/09/26(土) 14:03:44ID:EEvSsK+s
最近GitHubが重いと思う
GitHubの収益源ってなんだっけ?
0494login:Penguin2009/09/26(土) 16:19:01ID:1VrklZ1N
有償アカウントとか講習会とか業務への導入サポートとか。
鯖はEngineYardだな。
0495login:Penguin2009/09/28(月) 11:57:44ID:tMILVOon
それだけで賄えるものなのか
0496login:Penguin2009/09/28(月) 17:40:21ID:9izAOEVd
時々サーバ死んでるよね
タダで使い倒しておいてあまり文句いう筋合いもないけれど
0497login:Penguin2009/09/28(月) 18:11:25ID:tMILVOon
無料でしか使う予定はないけど頑張ってほしい
0498login:Penguin2009/09/28(月) 18:13:49ID:JZFsKZPh
http://fi.github.com/
そういえば、こんなのあったね。
0499login:Penguin2009/09/28(月) 22:56:07ID:oz2dR2We
Gitはじめてなのですが、バイナリの履歴はすべて持っているのでしょうか?
それとも差分だけ?また、ローカルリポジトリには圧縮されたバイナリはどのように
保存されるのでしょうか?バイナリサイズが大きいプロジェクトで使用予定なのですが
ローカルリポジトリが膨れ上がるのを恐れています。
0500login:Penguin2009/09/29(火) 21:45:20ID:bBdN/JgI
.git/objects の下を覗きながらcommitしていくと、git gcで
(あるいは時間が来て)packされるまではそのままのバージョンが
残ってるみたい。

mkdir foo
cd foo
git init
dd if=/dev/urandom of=BIN bs=1024k count=1
git add .
git commit -m 1
du -hs .git
echo -n A >> BIN
git add .
git commit -m 2
du -hs .git
find .git/objects -type f
git gc
du -hs .git
0501login:Penguin2009/09/29(火) 23:05:28ID:RwaZJqu/
thunks! 時間がくれば pack されるのですね。
まあ、HDDスペース節約よりは速度重視な最適化というわけですね。
HDDは、いっぱい増やすしかないかぁ。
後 Windows のファイル名の日本語処理がまずいところが不満ですね。
これさえ解決すれば svn から乗り換えるんだけどなぁ。来年ぐらいかなぁ。
0502login:Penguin2009/10/02(金) 20:43:35ID:N5w8ligl
>>494
あれなんかEngine Yardじゃなくなってるぽい。
こないだのメンテで移動したのかな。
0503login:Penguin2009/10/05(月) 13:23:59ID:wUrA1+B2
なんか新しい本買った人いる?
0504login:Penguin2009/10/05(月) 13:27:13ID:Llm7fIHP
"pro git" pdf
でぐぐれば面白いのが見つかるぞ
0505login:Penguin2009/10/07(水) 07:24:37ID:GcizbF6G
git clone git://git.example.org/cgit.cgi/xyzzz/tree/?h=newton

git で下の階層に置かれている newton を
持ってくるにはどうしたら良いのでしょうか?

xyzzz を持ってくるのはできるのですが…   
0506login:Penguin2009/10/07(水) 07:53:19ID:GcizbF6G
自己解決 >>329-334 辺り感謝

git clone -n git://git.example.org/xyzzz
cd xyzzz
ls
git checkout -b newton
git fetch

で取りあえず上手く取ってこれるみたいでした
なんでも一行でやろうとするなじぶん('A
0507login:Penguin2009/10/07(水) 20:16:41ID:9QifAEec
>>506
git cloneで既にfetchしているんでcheckoutの後にfetchしなくても
0508login:Penguin2009/10/09(金) 23:56:02ID:zcQ4FwK0
>>501
>後 Windows のファイル名の日本語処理がまずいところが不満ですね。
$ git config core.quotepath true
でもだめでしょうか。
■ このスレッドは過去ログ倉庫に格納されています