git スレッド
..
252:login:Penguin
09/04/01 23:53:33 I1/8jsAx
checkpadかRTMでおk(マテ
253:login:Penguin
09/04/02 01:51:26 L6Skfqgr
>>246
GithubのUIってそんないいかなーあんま好きじゃない。。。
俺は普通にGitwebがいちばん分かりやすいと思う。
じっくり見るならCUIだけど。git show-branchとかけっこう分かりやすいと思うな。
254:login:Penguin
09/04/03 00:48:36 pDtVIzVu
>>250
ditzがいいと思います
255:login:Penguin
09/04/03 18:00:14 uOZV7ek8
>> 250
lighthouseじゃだめ(´・ω・`)?
もしくは、ticgit。
256:login:Penguin
09/04/06 09:58:37 JCLhMxPh
xrea に入れてる人って自前でコンパイルしてるのかな。
うちは面倒になったやめてmercurialをいれてgitweb形式で
使ってるわ。インストールはこっちのほうが簡単だったから。
xrea用のバイナリを公開しているところがあればなぁ。(ぶつぶつぶつぶつ)
257:login:Penguin
09/04/06 23:28:22 eHpElSRS
xreaでgit入れられるの?makeでリソース不足になるかと思っていた。
258:login:Penguin
09/04/06 23:51:46 JCLhMxPh
>>257
いれてる人はいるみたい。
259:login:Penguin
09/04/07 18:44:33 HQC4Ps4f
xreaに自前で入れるっていう人は、ホスティングじゃ嫌な理由があるのん?
260:login:Penguin
09/04/08 00:50:22 QNjBH7lc
>>259
githubってプライベートリポジトリが作れないし。そのへんじゃないのか。
容量も桁ちがいになるって事実もある。それは大きくないか。
>>257
サーバーでmakeをやってるんだろうか?てっきりクロスコンパイルかなにかだと思った。
261:login:Penguin
09/04/08 01:10:30 5zwafMgz
>>260
「タダでは」作れない、と一応補足。
262:login:Penguin
09/04/08 16:50:09 mCOhjIt8
>>260
XREAにコンパイラはなかったと思う。クロスコンパイルしてるんでしょう
263:login:Penguin
09/04/09 02:02:38 PTQTRrqa
クロスってわざわざx86以外でコンパイルするんかいw
パッケージ作って持ち込んだらいいんちゃう?
264:login:Penguin
09/04/09 02:14:06 CHi6WPmY
xreaにgit入れてみたいけど、
違う環境でコンパイルしたものを持ち込むのって
やってみたことないなぁ
265:login:Penguin
09/04/09 02:34:36 FnIYwStd
>>263
それも試した。そのためにはosの環境を知るひつようがあるが。
266:login:Penguin
09/04/09 02:36:23 FnIYwStd
>>264
mercurialは簡単に入ったけど、どうしてもgitとなれば、git-mercurialを使うか
svn-gitを使うかって方法もあるよ。svnは入ってるから。
267:login:Penguin
09/04/09 02:41:28 PTQTRrqa
gitを導入できそうなのに、OSが不明ってどういうことなんだ?
xrea昔使ってたけどわすれちゃったい
268:login:Penguin
09/04/09 09:19:35 FnIYwStd
>>267
サーバーで違うからね。
269:login:Penguin
09/04/19 19:40:35 EpTMRFi2
githubのIssueって使えてる?
どのrepoをみても、ず〜っと「Loading」のままなんだけど‥‥‥。(´Д`)
270:login:Penguin
09/04/19 21:02:55 vX0fbY2N
issues(0)のものならLoadingにはならなかった。
10個ぐらい探したけどissues(0)でないものは見つからなかった。
Safari4Beta
271:login:Penguin
09/04/21 09:03:12 WkK6/Gbo
WEB+DB PRESS vol.50のgit特集って現メンテナの記事なんだな。
272:login:Penguin
09/04/21 19:01:11 KUyr8Kra
浜田さんですね
273:login:Penguin
09/04/21 22:05:48 yPrR70Fe
>>270
あれ?そう?
じゃあ、自分だけかぁ。
誰もどこにも不具合報告してない感じだし。
Firefox 3.0.7
274:login:Penguin
09/04/21 23:48:13 k6LFvaa1
javascript切ってる、とか
275:login:Penguin
09/04/23 12:52:20 OS8mDzFU
>>274
ありがとうございます。
javascript関係とcookie関係は(NoScriptも使っているし)真っ先に疑っていろいろ設定値を変更してみたんだけど、
変化なし。
で、今朝帰宅後に何気なくみてみたら、(再読込とかもしていないのに)Loadingが消えていたよ。
読み込みに何時間かけたんやって感じだけど、とにかくCreate Issuesボタンを押しても反応するし、
よくわからんが使えるようになったので、よしとした。
# 自分は、「動けば何でもいいや」サンデープログラマなので。
ちなみに、IEでも確かめてみたが、IE6でもIE7でもLoadingのまま。(´・ω・`)
まぁ、普段は使わないから(ry
276:login:Penguin
09/04/30 22:30:43 to8eVmEB
すいません、2つ質問したいことがあります。
branchとdiffには --color オプションがあるのに、statusだけ無いので、
これだけ
[color]
status = auto
と指定しなければいけないのを避けたくて、出来ればstatus --colorなどしたいのですが、可能ですか?
また、svnでいうリビジョン指定のupdate、たとえば svn up -r4などをしたいのですが、
revertを使うと勝手にコミットされてしまいます。コミットせずに、ただリビジョンを戻したいときはどのコマンドを使えばいいですか?
277:login:Penguin
09/04/30 23:48:05 16J7B4JZ
>> 276
∩( ´Α`)< 276、「git config --global ui.color auto」ってどうよ?
2個目のは
git checkout 〜
かな?
# よくわからんが。
278:login:Penguin
09/05/01 00:27:11 gzznyDiQ
>>277
ありがとうございます。
>git config --global ui.color auto
centos4.2 / git 1.5.2.1 で効かない模様です・・
2個目は、例えばsvnで、リビジョン5が最新だとして、リビジョン5の時点で、「svn up -r3」と打つと、リソースがリビジョン3の時点のものになるのです。
その後「svn up」と打てば、リビジョン5に戻ります。
gitの場合、「git revert コミット時のハッシュ」で、前回のコミット時の状態に戻すことが出来ますが、revertは「前回との差分を反映した上でコミットする」ようなのです。
以前の状態に戻してもらえれば、別にコミットしなくてもいいのですが、そういうことをしてくれるコマンドを探しています。
279:login:Penguin
09/05/01 02:11:17 UyxRnjCJ
>>278
git checkout {commit} -- .
git reset使っても良いけどreflog変わっちゃうから私はお勧めしない。
280:login:Penguin
09/05/01 23:16:38 N/KL5AXz
二つ前だったら
git checkout HEAD^^
とか書けるのがいいやね
281:login:Penguin
09/05/02 03:42:35 jDKFtoWO
git help svnなどでヘルプが見られるはずなのに、No manual entry for git-svnとしか出ません。
バージョンによってヘルプが無かったりするんでしょうか・・?
282:login:Penguin
09/05/02 08:23:07 ww11tj+4
make man してないってオチじゃなくて?
283:login:Penguin
09/05/02 17:53:08 jDKFtoWO
>>282
cdとかlsのmanはあります。
centos5.1で、gitはyumでインストールして、バージョンは1.5.2.1です。
284:login:Penguin
09/05/02 19:16:03 9M7bqe9L
>>283
じゃあドキュメントは別のパッケージになってるとか。
285:login:Penguin
09/05/07 10:52:48 PyUwUZuU
試してないけどgit-svnパッケージを入れないとコマンド自体無いよね。
286:login:Penguin
09/05/07 21:35:53 0VojICGT
面倒だからgitで最新版落としてコンパイルしてインストールしたら?
287:login:Penguin
09/05/07 22:37:33 09tnqhRR
1.6.3出たぞ
288:login:Penguin
09/05/17 01:00:54 ePLSrhR8
1.6.3.1
289:login:Penguin
09/05/19 00:05:14 5BgkgMmK
キーを作って、
Enter file in which to save the key
(/c/Documents and Settings/Administrator/.ssh/id_rsa):
ってメッセージが出るのですが、
該当のディレクトリを探しても、
/.ssh/id_rsa):
が存在しません。
どこにいったのでしょうか?
290:login:Penguin
09/05/19 00:45:40 3rv5JzN1
>>289
まだない。
その文の訳は「鍵を保存するファイルを入力してね」だ。
カッコ内は、名前を指定しなかったときにこの名前になるよってこと。
291:login:Penguin
09/05/19 00:58:18 5BgkgMmK
んじゃあ、ENTERを押せばよかったってこと?
292:login:Penguin
09/05/19 01:31:25 zZo+QRSM
そゆこと
293:login:Penguin
09/05/26 12:25:38 lz1Hno2I
git clean -fx したときにでも特定の虫ファイルが生き残るようにする設定ないかなあ。
294:login:Penguin
09/05/26 12:56:04 F7u3ZQup
>>293
まさかGitリポジトリの中で虫を飼ってるやつがいるとは・・・。
はっ!なるほど、バグを飼ってるんですね、わか(ry
295:login:Penguin
09/05/26 15:02:12 lz1Hno2I
そうそう、鈴虫だけは駆除したk…ってのはおいといて。
設定ファイルをgitで管理してて、
パスワードとかはいっててリポジトリに入れるのはなんかいやなファイルがあるんだけど、
git clean -fxとかしちゃうとそれまで消えちゃうんだよね。
makeの.PRECIOUSみたいな設定ができると嬉しい。
まあ需要なさそうだよな…
296:login:Penguin
09/05/26 20:43:46 dhhqSphP
>>295
何の設定ファイルか知らないけど、そういう場所でclean -fx
するのはそもそも間違いじゃないの?
297:login:Penguin
09/05/26 23:19:27 lz1Hno2I
まあね。そうなんだけど。
でもauthorized_keys~とか消したくね?ね?
298:login:Penguin
09/05/26 23:48:37 KnIgZeet
うだうだ言ってないで、自分で改造しろよ
299:login:Penguin
09/05/26 23:51:18 Aiox/6VI
俺なら、レポジトリの外においとくけどなぁ > 設定ファイル
300:login:Penguin
09/05/27 01:55:32 h/OEez6w
色んなところの設定をリポジトリに突っ込んで管理してるのです。
>>298の言うとおり、そのうち改造してみることにします。
301:login:Penguin
09/05/27 10:46:25 V1RGq7PO
clean -f じゃだめなの?
302:login:Penguin
09/05/27 17:11:06 h/OEez6w
まあそういう解もあるけど。
でも、hogehoge~とかがUntracked filesと表示されるのはいや。
303:login:Penguin
09/05/27 18:40:50 NsMBl7Do
>>302
.gitignore で除外指定するのも手かと。
304:login:Penguin
09/05/27 19:10:26 V1RGq7PO
>>302
普通にcleanしてもhogehoge~とか消えないの?
hogehogeがignoreされてるの?
305:login:Penguin
09/05/27 21:29:16 h/OEez6w
つまりですね、.gitignoreされているhogehoge~を消したいが、
.gitignoreで一緒に除外されているid_rsaとかは消したくない、と。
そういうことです。
git config clean.precious とかで設定できるようにしようかと思っている。
306:login:Penguin
09/05/27 22:07:16 Jwgt63tk
git cleanを使わない。
307:login:Penguin
09/05/27 23:24:03 IDa+cPEF
ownershipを自分以外にしておく(対症療法...)
308:login:Penguin
09/05/28 00:04:05 +ifPU4jK
聞いてくるのはディレクトリのuidな罠
309:login:Penguin
09/05/28 18:03:13 iCE9wfb7
>>305
なるほどねぇ…俺はset nobackupなんで全く気にならなかった。
PRECIOUSいいかもねー。
末尾~のファイルを一括削除するタスク作るのが手っ取り早いような気もするが。。。
310:login:Penguin
09/05/28 23:23:15 +ifPU4jK
それだけのためにMakefileを書くのもどうも。
311:login:Penguin
09/05/29 14:40:20 qJp0/nmk
自分は.bashrcで
alias rmtilde='rm -f *~ .*~'
としておいて rmtilde と打てばカレントディレクトリのバックアップファイルが消えるようにしている
毎度 rm *~ と打ってるとミスってファイル全消しとかやりそうで怖いからこうした
312:login:Penguin
09/05/29 15:27:50 HgM+30FZ
バックアップファイルは、別の場所に保存するようにすれば?
313:login:Penguin
09/05/29 22:22:50 2y8c1+1L
gitコマンドで見えないものは、気にしない。
314:login:Penguin
09/05/30 14:50:11 dqOmA8jR
見えないからこそ、ついgit clean -fxってやっちゃいそうで怖い。
-fつけるな、っていう反論は尤もだけど。
315:login:Penguin
09/05/30 17:05:06 9brHsk7F
実際clean -fdx するのはGitをビルドする時ぐらいかなぁ。
make cleanで良いだろうとは思うんだけど。
あとコーディングしてるとUntracked filesがどんどん増えていってしまう
性分なので、気軽にcleanはできない…。
316:login:Penguin
09/05/30 17:05:50 uf3CgwBV
>>311
シェルでワイルドカード使うときはC-x * で展開してから実行するだろ
317:login:Penguin
09/05/31 10:32:14 K6LNij6T
>>314
>>306
318:login:Penguin
09/05/31 11:00:18 0DzzHN4o
>>316
いや?
319:login:Penguin
09/06/01 11:52:10 rqA2erQu
>>316
rootで作業するときは
echo rm *~ みたいなことをして確認している。
320:login:Penguin
09/06/01 12:51:51 Lgjwq8a5
俺もalias作ってるな
321:login:Penguin
09/06/02 13:07:04 qa3GkTXX
debian系ならtrash-cliパッケージをインストールして、
alias rm trash
見たいなのを.bashrcに書いとけば、Windows見たいなゴミ箱のシステムが使える。
これでいざというときも安心。
322:login:Penguin
09/06/02 13:54:30 D8d0YmW8
>>321
trash-cliなんて便利そうなの知らなかったよ、あんがと。
323:login:Penguin
09/06/02 21:16:03 x7ntZyXz
そしてそれが入ってないシステムでいつもの癖が出て悶絶するw
324:login:Penguin
09/06/03 09:06:05 XMOgq/dG
>>323
trashコマンドはオプションがないので、rm -rf *とかしなくてもrm *でいい。
だから、rm *と打つ癖を付けとけばtrashがない環境でも削除するかダイアログで聞かれるはず。
325:login:Penguin
09/06/04 11:13:39 gFmd/ycH
どっちかというとそういう小細工するよりはちゃんとバックアップとっといた
ほうがいい気がする。>>323みたいなのはあるし。
326:login:Penguin
09/06/04 12:39:36 TWd6diqQ
俺は、~/以下のファイルを/home/$USER.bk以下にぜんぶハードリンクする
スクリプト書いてバックアップにしてる。
zshつかってるのにrm * したんだよね……
327:login:Penguin
09/06/04 15:06:54 vC6RyzlI
スレチ・ガイ登場の予感
328:login:Penguin
09/06/05 17:33:49 0gYSyA33
>>293 わかったよ。.gitignoreとは別の除外リストがあるらしい。 $ git help repository-layout |less +/exclude
329:login:Penguin
09/06/08 23:17:07 ZitoZgZ1
URLリンク(github.com)
これをcloneしたいんですが、表示されているclone urlでcloneすると
URLリンク(github.com)
こっちをcloneしてしまいます。
多分ブランチでmagazineが存在するんだろうと思うんですが、masterをcloneしてgit branchしてもmasterしか表示されません。
どうすればmagazineをcloneできますか?
330:login:Penguin
09/06/08 23:54:18 C1ERIbGC
試してないけど clone はできてるんじゃね?
リモートリポジトリの magazine ブランチで遊びたいなら、
git checkout -b magazine origin/magazine とかしてみたらどう?
リモートリポジトリのブランチは git branch -r で確認できると思うよ。
331:login:Penguin
09/06/09 00:07:59 AyjP2z0q
>>329
git clone git://github.com/yhara/sinatbbs.git magazine
じゃない?
332:login:Penguin
09/06/09 07:51:55 xJxgLqqZ
$ URL=git://github.com/yhara/sinatbbs.git
$ git clone -n $URL
$ git checkout -b magazine origin/magazine
magazine以外取ってきたくもない、という場合はこうかな。
$ mkdir sinabbs
$ cd sinabbs
$ git init
$ git remote add -t magazine origin $URL
$ git fetch
$ git checkout -b magazine origin/magazine
333:login:Penguin
09/06/10 00:58:47 KXr3oHi6
>>332
いけました、ありがとうございました。
334:login:Penguin
09/06/18 15:44:21 5DrDTVn8
1-2-3 … master
+-a-b-c-d-e … experimental
で、 experimantal のうち a と c だけ master に適用して github に push したいです
master で experimental をマージしたら a b c d e 全部 master に入ってしまうのが困るです
335:login:Penguin
09/06/18 19:01:04 2Ebk94KK
>>334
>>74>>76あたり
336:login:Penguin
09/06/18 20:18:53 cCav561R
>>334
cherry-pickが手軽だと思う
337:login:Penguin
09/06/18 21:43:20 Ntg4BqVh
git-pushのデフォが--dry-runで、本当にpushする時だけ
--no-dry-runっていう動作にするにはソースをいじるしか
ないのかな。そういう需要ってあまりないんだろうか。
338:login:Penguin
09/06/18 21:57:41 eLD/FLhK
>>337
git config --global alias.p 'push --dry-run'
としてpush使わないとか
339:login:Penguin
09/06/21 20:28:22 lOVS9wsZ
charset という名前の github の唯一のリポジトリを削除する方法は
git push git@github.com:USERNAME/PROJECT.git :charset
でいいよね?
charset は予約名で、作ったら絶対に消せないとかそういうのないよね
git push 場所 master
でも master が GitHub の USERNAME の PROJECT のページに出てこないんだけどなんだろう
URLリンク(github.com) にアクセスすると
URLリンク(github.com) に飛ばされるんだが
ちなみに URLリンク(github.com) は 404
340:login:Penguin
09/06/21 22:41:22 zEt58fLN
間違ってるかもしれないけど、github からプロジェクト消したいなら
ウェブ上のインターフェイスからできるよ。
341:login:Penguin
09/06/22 06:17:19 dUjEbQcZ
>>339
最近のGitHubは微妙にレスポンスが悪い
pushしたら2時間くらい放置することにしてる
たぶん、今日見たら消えてると思う
質問、トライアルごとにブランチ切るような使い方してるんだけど、
一応完成して、メインストリームブランチに入れて、
倉庫みたいな物置ブランチにコピーしておいて
という使い方をすると、「もう必要ない使用済み」のちいさなブランチができるよね
これを
「"圧縮"してどこかに退けておいて git-branch で表示されないようにしておく」
ということはできない?
git branch すると20個くらいだーっと表示されてもうわけわからん状態になってるん
ブランチを消してもいいんだけど、なんか操作ミスとかでマージしたメインブランチが消えたときとかの予備にみたいな貧乏性
342:login:Penguin
09/06/24 21:35:59 2QUgEiwr
>>341
まったく同じだw
俺も貧乏性というかビビりなんでブランチやたら残ってる。
pushの際にfast forwardできた時はまだ良いんだけど、rebaseとかcherry-pickした時は
古いブランチを念のために残しちゃうんだよねぇ。
やり方としては、必要なくなったブランチがある今の場所を他からremoteで
fetchさせておいて、そっちでcheckout -bしておくとかかね…めんどくさいな。
343:login:Penguin
09/06/25 21:57:36 Onb9g2E7
git-daemonについて質問です。
開発用と同じPCにgit-daemonをセットアップしようとしています。
基本的にはこちらにある通りに設定を行いました。
URLリンク(d.hatena.ne.jp)
わたしの環境は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
09/06/25 22:08:30 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
09/06/25 23:07:10 E5OhASqI
>>343
うーん、git-daemonの書込みパーミッションとか?
git-daemonにreceivepack設定してpushさせると匿名フルオープンになるみたいなので、
sshのほうが良いんじゃないかと思う。
てかgit-daemonでpush出来るとは知らなかった…
346:343
09/06/25 23:54:48 Onb9g2E7
>>345
gitを使い始めて浅いもので理解していないのですが
> sshのほうが良いんじゃないかと思う。
これはどういう意味でしょうか?man git-pushで
ssh://[user@]host.xz/path/to/repo.git/
という表記は見かけましたが、このコマンドでpushするべきだとことでしょうか?
347:343
09/06/26 00:48:11 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
09/06/26 01:20:59 uHyKMR0H
>>346
このへん参考になるかも
URLリンク(www8.atwiki.jp)
Gitの操作に慣れるという意味ではgit-daemonもsshも使わずに普通に同じホストで
pushとかしても大体同じなので、それでもいいと思う。
gittutorial(7)
URLリンク(www8.atwiki.jp)
LAN内少人数で中央集権の置き場として運用したいということなら、
git-daemonで匿名pushOKにしてやっても良いかもしれないですが。
sshでpushはさせたいけどシェルは使わせたくないとか、本格的にGitを
ホスティングしたいのであれば、Gitosisが便利ですよ。
349:login:Penguin
09/06/26 02:03:14 uHyKMR0H
>>347
>例えばですが、git create git://host.xz/path/to/repo.git/
>を発行すると、新しくrepo.gitというレポジトリを作ってもらうようなものです。
よくわからないけど、あったっけなぁ。ブランチを作るのはできるけど。。。
sshできるならそこのホストにログインしてgit initすれば出来る。
それか管理者が作っておいてあげるとか。
Gitosisはそのへんの管理が柔軟にできるようにはなってましたが。
350:login:Penguin
09/06/26 14:12:47 2GlKWaVl
Windows に cygwin 入れて使ってます。
ls ~ して出るところに .gitignore を置いているのですが、
git status すると、ignore 指定したファイルが
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
に出てきます。どのように設定すればよいでしょうか。
351:login:Penguin
09/06/26 17:37:09 JV5Aa+Hk
>>350
git config [--global] core.exludesfile ~/.gitignore
352:login:Penguin
09/06/26 17:46:31 2GlKWaVl
>>351
ありがとうございます。
それでも変わらず…。
353:login:Penguin
09/06/26 18:38:46 iVeHZqbP
>>352
core.excludesfile だよん
354:login:Penguin
09/06/26 23:51:12 p2TqTPM6
>>348
お返事ありがとうございます。
> Gitの操作に慣れるという意味ではgit-daemonもsshも使わずに普通に同じホストで
> pushとかしても大体同じなので、それでもいいと思う。
git://~~~とかssh://~~~でなくともgit clone ~/path/to/repo.git/
という感じにネットワーク越しの操作じゃなくても使えるのですね。
こういうことができるなら、
わたしの使い方ならgitデーモン立ち上げなくともよさそうです。
いただいたURL、Gitosisについても今後の為に読ませていただきます。
ありがとうございました。
355:login:Penguin
09/06/29 00:33:12 cM4lxNQ+
linuxデスクトップユーザーの特徴
@インストールしただけで選民思想
Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。
Bコマンド打ち込んでプロだと勘違い
C黙ってwindowsでも使ってろと間口を狭める
D素人がだのなんだのとwindowユーザーを馬鹿にする
Eカーネルいじればいいだろと無茶を要求
Flinux開発者とのずれを認識できていない
Gwineを使うくせにlinuxを再現しようとする動きがあるとたたく
冫─' ~  ̄´^-、
/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /
ゝ /ヽ──‐ヽ / / linuxはめんどくさくて難しい分だけ、
/|ヽ ヽ─' / < 自称プロが悦に浸るためのツールとして最高なんじゃないだろうかwww
/ | \  ̄ / \
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
356:login:Penguin
09/06/29 11:19:14 ZvxokV6H
>>353
ありがとうございます。うまくいきました!
357:login:Penguin
09/07/02 10:56:24 jjJW7RlL
git status を git st にしようと
git config --global alias.st status
しました。
git status では何も変更がないのに
git st すると膨大な modified: が出ます。
( modify してないのに )
git status = git st にするにはどうしたらいいでしょうか。
358:login:Penguin
09/07/06 14:19:12 6WnxlUWF
BがAをcloneしているとして
B→Aにpushしたとき、warningがだだっと出て、Aではgit reset --hardしないとpushした内容になりません。
resetせずとも良いやり方はありますか?
(A→Bは操作できません)
359:login:Penguin
09/07/06 14:59:26 qaJTybW2
>358
warningの内容が分からないので適当だけど、
A側に変更がある状態でpushしてるんじゃないかな。
pushする先はbareリポジトリのほうがいいよ。
360:358
09/07/06 18:06:27 6WnxlUWF
>>359
Thanks!
bareリポジトリにpushすれば良いのですね
今まで勘違いしてたけど調べて分かりました
361:login:Penguin
09/07/06 19:01:30 tXUbQGaL
>>357
分かる方いらっしゃいませんか
362:login:Penguin
09/07/09 08:58:11 neFt6wMr
>>357
俺は ~/.gitconfig にこうやって書いてるけど、全然問題なし。
[alias]
st = status
363:357
09/07/09 09:41:44 spRnDxWI
>>362
ありがと。そうか。。。
正しい git status の結果になるディレクトリと、
長大な modified が出るディレクトリがあることが分かりました。
仕方なく git status と書かれた gitst.bat を使ってます。
364:login:Penguin
09/07/09 14:45:00 neFt6wMr
>>363
…もしかしてWindows?
ここLinux板だし、こっちでも聴いてみたらどうだろう。
スレリンク(tech板)
365:login:Penguin
09/07/09 14:53:30 spRnDxWI
>>364
Windows ( cygwin ) です。
そっちで聞いてみます。ありがとうございました。
366:login:Penguin
09/07/20 12:59:20 y3l+3ouD
GitHub で公開されてる fork 元で、バカみたいに大規模なファイル構成とファイル内容の全変更がありました
いちおうこれに追随しなければならないんですが、
手元の適当なブランチに試しにpullしたら衝突解消がとってもめんどくさいことになって泣きました
手元にブランチが20個くらいあります。全部に対してこれを繰り返すのは嫌です
きっとなんか便利な方法があるんだとは思うんですが、何をすればいいものなんでしょうか?
367:login:Penguin
09/07/20 14:29:02 /rqSq1cX
>>366
WWW::Mechanize?
368:login:Penguin
09/07/20 19:07:11 q2y5p7aG
大量の衝突をうまくマージする方法じゃないの?
取得を自動でやる方法じゃなくて
369:login:Penguin
09/07/20 19:18:33 /rqSq1cX
>>368
ごめんなさい、>>367は「バカみたいに大規模なファイル構成とファイル内容の全変更」があったものについての予想です。
370:login:Penguin
09/07/20 20:05:55 ma9OV7L+
Ruby版の?
module WWW
class Mechanize
end
end
を
class Mechanize
end
# と外出しして
module WWW
Mechanize = ::Mechanize
end
で後方互換性を保つとゆー大顰蹙。
# nbsp の使い方はこれであってるのだろうか
371:login:Penguin
09/07/20 22:36:14 1OZrXuJk
うぉーなんだそれは…
372:login:Penguin
09/07/21 04:43:12 nT3Auy6R
論理構造的にはともかく、diffの各行的には単にインデントが浅くなっただけじゃん
module WWW と end のとこだけだろ、それ引っかかるの
373:login:Penguin
09/07/21 12:41:57 Y7zra871
>>366
git rerere --help
374:login:Penguin
09/07/21 13:52:37 HzmMUGDt
GitHubに試しに登録してpushまで終わったんだが、
検索にかからない、自分のIDすらかからない・・・なんだこりゃ
375:login:Penguin
09/07/22 06:38:32 dp/16pzu
>>372
これ、lib/www/mechanize/ 以下のファイルが全部 lib/mechanize/ に移動してるんだよね
手元では lib/www/mechanize/ の中に編集されたファイルがたくさんあるだろうから、
rebase で遡って差分適用するたびに衝突起こすな
376:login:Penguin
09/07/24 14:17:45 6MAoexAT
git commit したら自動で -v オプションを付ける方法はなんでしょうか
377:login:Penguin
09/07/26 10:29:12 r004HONT
>>376
aliasを設定するとか。
378:login:Penguin
09/07/29 21:06:50 NqWOLxIQ
1.6.4 age
379:login:Penguin
09/08/02 06:28:58 ANiJcqBB
URLリンク(ssl.ohmsha.co.jp)
原書はどんなできなのかな?
380:login:Penguin
09/08/02 09:08:14 1MTX0arw
>>379
Pragprogの原書なのでブランド買いした。
CVS/Subversion/Mercurialを使った経験ありの俺的にはそれなりに
使えるようになった。
管理オブジェクトの話とかplumbingコマンドのレイヤーについては
さほど載ってなかったはず。
381:login:Penguin
09/08/02 19:51:08 ANiJcqBB
>>380
レビュー、ありがとう。
この訳本が出たら、立ち読みしてみて、考えよう。
382:login:Penguin
09/08/03 14:34:54 RIRtotud
gitとsquidを連携したwebキャッシュ作りたいんだけど
gitを改造しないでsquidと連携させることできる?
383:login:Penguin
09/08/03 16:11:32 T85XxxMu
git cvsimport
でCVSリポジトリを変換しようと思ったらメッセージが化けました。
今までTortoiseCVS SJIS版(あろはだよCVS版)を使っていたのでそうなったんだと思いますが、
このメッセージをUTF8に変換するにはどうしたらいいんでしょう?
どなたかお助けいただけますと幸いです。よろしくお願いします。
384:login:Penguin
09/08/03 20:24:19 6y63jn1e
>>382
「連携」が何か他の人に伝わってる、と思うのはなぜ?
385:login:Penguin
09/08/06 07:01:18 KCKgFcNy
>>383
おれはEUC-JPなcvsからcvsimportしたやつは、
git config i18n.commitEncoding EUC-JP してるけど。
まああたらしいログをUTF8で書くとやっぱり化けるけど。
基本自分は英字でログかくから気にしてない。
386:login:Penguin
09/08/06 07:05:35 KCKgFcNy
とカキコしてから気になって調べたら、
git config i18n.logOutputEncoding UTF8すると
あたらしくUTF8で書いてもしっかり全部化けずにいけますた。
387:login:Penguin
09/08/10 17:32:11 2cu11IQe
ずっと思ってたんだけど、merge って意味なくね?
一意なハッシュで管理されてるなら cherry-pick だけで十分じゃね?
ローカルなブランチが晒されるしコミットメッセージの編集もできないし merge は害悪しか思いつかないんだが
388:login:Penguin
09/08/10 17:41:46 +bQVdOii
うん、やっぱ言葉が悪いよな
私たちが図を書かず頭のイメージだけで考えるところの「ブランチのマージ」は、
たいていの場合、適切な方向に rebase することで達成される
git を使っていて「マージ」したいと思ったなら、まずは rebase を検討すれ
389:login:Penguin
09/08/10 17:42:14 Ln/irodm
>>387
cherry-pickしたらハッシュ変わるけどどうすんの?
390:login:Penguin
09/08/10 17:59:06 +bQVdOii
たぶん、衝突するようなマージばかりを経験してるのだと思われ
391:login:Penguin
09/08/10 18:11:48 Ln/irodm
公開したらrebase出来なくなって、FFできそうなやつでもmergeするしかなくなるってのは
どうにかならないもんかとたまに思うことはあるな。まあしょうがない気はするけど。
FF出来ない時にマージコミットつくらずに1つの新しいコミットにまとめてしまって、
その上で便宜上だけでも元のコミット群はこれらです、って感じに参照させることが
出来ればいいなーと妄想することがある、けどそれって結局マージと同じことなんだよね。
ただ、受け入れ側でマージコミットを嫌がる場合も多いので、そんな機能もあったら便利かも
しれないとかまた妄想。
392:login:Penguin
09/08/10 20:56:04 i4bAM8hh
えーと、こっちのブランチでcherry-pickしてないのどれだっけ?
とかなる希ガス
393:login:Penguin
09/08/10 21:07:20 IbZ/Z+oA
cp はブランチ作り切った最後に行う
cp を頻繁に行う人はコミットメッセージも cp 時に有機的に書き換えてるはずなので
よっぽど変なまとめ方しない限り大丈夫
ウィンドウ2枚開けて片方に git log の結果を常に表示しながら cp しないといけない状況ばかりなのには同意はしておく
394:login:Penguin
09/08/10 23:47:00 nFA1XbhB
>>391
公開してるリポジトリに直接commitしたりとかしてんの?
395:login:Penguin
09/08/10 23:57:49 Ln/irodm
>>394
いや、pushしてるよ。ただフォーク元も公開してるから。
396:login:Penguin
09/08/11 00:18:25 gCZov+kt
mergeっていけないことなのか?必要悪なのか?
397:login:Penguin
09/08/11 01:51:55 9aVIR9qR
pushしたブランチの履歴は変更してはいけないというルールがあるからな
>>396
衝突しない理想的な世界であれば好ましい
衝突が起こったとたん別のコミットになるからシステムデザイン上は駄目
「AをしてBをしてCをする差分適用」であるコミットが衝突後
「AをしてBをしてXをしてCをする差分適用」というコミットに摩り替わっちゃやっぱ駄目だろ
「AをしてBをしてCをする差分適用であるが、今回に限ってはBのあとにXであるさらなる差分適用がある」
という情報で格納すべき
ハッシュ値は不変で
このコミットを cherry-pick したらまずは「AをしてBをしてCをする差分適用」が試されるべき
398:login:Penguin
09/08/11 06:08:40 od33ZDSx
>>397
ハッシュ値をどうやって計算してるか知らないの?
399:login:Penguin
09/08/11 08:06:48 hQImHIEr
ハッシュ値は全く同じアルゴリズムが使われてさえいればどう計算してもいいんだよ
ハッシュというとファイルをバイト列として利用しなければいけないとしか思いつかない人が稀にいるが
400:login:Penguin
09/08/11 10:38:30 AVaSZeyh
resolveがある場合のgitのマージコミットって、
> 「AをしてBをしてCをする差分適用であるが、今回に限ってはBのあとにXであるさらなる差分適用がある」
におけるXになってない?
そもそもA B Cが何を指してるのかよくわからんが。
401:login:Penguin
09/08/12 15:06:33 8h+T8Ju7
svn でさほど不満はないのですが、ファイル数、ファイルサイズともに
大きなプロジェクトで update, commit 速度が遅く困っています。
git に乗り換えれば速度少しでも早くなるでしょうか?また、各
ローカル側の hdd 使用量は svn より増えると考えておいてよいで
しょうか?
402:login:Penguin
09/08/12 15:53:46 mycJo5BE
>>401
速度はたぶんものすごく早くなると思う。
ローカル側のディスク使用量はそれほど気にならないよ。
ただし操作方法、概念が異なるので、もしも仕事で大人数でやるのなら、
習得させるのにそれなりに工数がかかると思う。
403:login:Penguin
09/08/12 17:45:44 Z/KJAJVW
では、ひとまず svn のリポジトリを、残し一部メンバのみ git 経由で
アクセスする感じで検証でしょうか。ただ、この使い方だと速度面の
メリットはわからないですよね。大プロジェクトなので難しいところ。
404:login:Penguin
09/08/12 18:24:39 FOPhwWTC
>403
今一環境がかんないんだが、大プロジェクトでも
updateとcommitなんて日に一度くらいじゃね?
自分だけgit-svn使えばローカルだけで大抵の用事は済むので、
快適になると思うよ。
405:login:Penguin
09/08/12 18:36:00 Y2NYIgNJ
一日最低 10 回は commit してるなぁ
406:login:Penguin
09/08/12 19:12:05 4qtNGkYm
commit --amend含めると30いくかな
407:login:Penguin
09/08/12 19:48:18 pDDmfa5D
すみません。commitの回数つながりで、ちょっとおたずねします。
一般的にcommitって細かく(最低でも1つの機能の追加ごとに)やるものだと思うのですが、
調子に乗ってコーディングしていくうちに、手元で大量に変更してしまいました。
こういうときって、どうされていますでしょうか。
diffの出力を手作業で加工して、追加した機能(関数)もしくは変更部分ごとにパッチを作って、
それらを取り込んで→コミット...を繰り返せば何とかなると思っているのですが、
他によい方法はないでしょうか。
# 対象は1ファイルです。
408:login:Penguin
09/08/12 20:05:23 dme4v7A0
>>407
そんな時のための git add -p じゃないか
409:login:Penguin
09/08/12 20:25:02 mycJo5BE
>>408
最近それ知って、gitすげーと思った。
git add -i なんかはまだ使いこなせないが、極めたら世界が変わりそうだ。
410:login:Penguin
09/08/12 20:26:37 3jImDu3O
>大プロジェクトでも
>updateとcommitなんて日に一度くらいじゃね?
日にもよりますが1日10回ぐらいですかね。プログラマは20人以上
いますので全員合わせるととんでもない量の svn commit メールが来て
大変です。データサイズも200GBくらいはあるんじゃないかな。
TortoiseSVN で commit をルートディレクトリから行うと5分待ちな
状態で億劫なのでサブディレクトリからこまめにあげて上げわすれとか
出るほどのひどい状態です。
411:407
09/08/13 07:17:33 iA5oHuEp
>>408
うわ〜〜〜。んじゃ、これは!!
すげ〜〜。
教えていただきありがとうございます。
今までの苦労は何だったんだって感じ...。
ほんと、gitすげーよ。
addのオプションか。diffとかpatch-formatとかみてたよ orz
っていうか、それ以外のaddのオプションもすごいのな。
なんか、今までやっていたことが「バージョン管理するための管理」みたいな
ほとんどが不毛なことって気がしてきた...。
もちっと精進するよ。
またお願いします。
412:login:Penguin
09/08/13 15:27:28 tyyaneTm
ローカル環境で git-daemon を立ち上げました。
サーバが openSUSE で、
クライアントが Windows Vista。
ローカルなので ssh なしでやりたいのですが、
どう設定すればいいでしょうか。
413:login:Penguin
09/08/13 15:44:37 zQQwCkns
まあ、色々方法はあるわな、httpとかxinetdとか
てっとりはやくやってみたそうだから、xinetdでやってみたら?
xinetd
414:login:Penguin
09/08/13 15:49:26 zQQwCkns
xinetdを起動する
xinetdにgitを登録する(gitポートにリクエストがあったとき、xinedがgit-daemonを呼び出す)
あとは、gitリポジトリ(コンテンツ)の用意と、クライアントへのgitのインストールで
クライアントから、git cloneっしょ
415:login:Penguin
09/08/13 15:57:01 tyyaneTm
>>413-414
ありがとうございます。
xinetd、挑戦してみます。
416:login:Penguin
09/08/13 16:30:15 F9EvWFzj
>>412
>>343-354
417:412
09/08/13 16:48:16 tyyaneTm
>>416
躓いて見てみたらw
ありがとうございます。
私も openSUSE をサーバに、
複数人で開発したい用途。
そして、どうやって新規リポジトリを作ろうかと思っていたので、本当に既視感。
再度、挑戦!
418:login:Penguin
09/08/13 18:29:12 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
うまく動いている方、アドバイスお願いします。
419:login:Penguin
09/08/13 18:36:55 cf0vEXgI
cannot drop privileges ということなので、xinetdの設定のほうで、
git-daemonを動かす権限をsetuidを呼べる人(rootとか?)にすればい
いのかもしれない。
420:login:Penguin
09/08/13 20:51:01 Vyg2UZ2a
ありがとうございます。
setuid...
調べてみます。
421:418
09/08/14 10:12:25 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 スレで聞いた方がいいのかもしれませんが、
その前に、ここでお分かりになる方はいらっしゃいますでしょうか。
422:login:Penguin
09/08/14 10:35:16 Q/iZulHO
>>421
URLリンク(www.aoisakura.jp)
おなじエラーではまってる人がいました。
以前動かそうとしていたものが正常終了していないのでは?
423:421
09/08/14 10:56:54 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 を再起動してみます…。
424:421
09/08/14 11:00:50 vxCEaCUs
余談。
zypper install git-daemon で作られる /etc/xinetd.d/git には
--base-path="/srv/git"
と書かれていて、" を消して
--base-path=/srv/git
としないといけなかった。
昨日からハマっているので、午前中の段階で精神的に疲労中w
425:421
09/08/14 11:14:13 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 しても自動で立ち上がります。
これを止める方法を探しますが、アドバイスがあると嬉しいです。
426:login:Penguin
09/08/14 11:23:39 Q/iZulHO
xinetdから起動されたgit-daemonが、リクエストを処理し終わっても
そのままデーモンとして残り続けていませんか?
xinetdから起動するなら、処理ごとに終了するべきですね。
git-daemonに渡せるオプションはありませんか?
--inetd だろうか。
427:421
09/08/14 11:43:01 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
あー、今日はもう帰ってビール飲みたい。
428:427
09/08/14 11:43:52 vxCEaCUs
興奮して間違えましたが、429 さんではなく、>>426 さんです。
そのほか、いろいろ助言を下さった方、ありがとうございました。
429:login:Penguin
09/08/17 12:41:58 w4WoSrsO
read only で構わないのですが、linus 達がいじっている
linux kernel tree 本線を git で、ローカルのlinux PC 上に
同期できるでしょうか?その場合、どうすれば良いですか?
430:login:Penguin
09/08/17 13:25:08 IIDjTJ7I
linux kernel git torvalds
でぐぐれ
431:login:Penguin
09/08/17 14:01:07 w4WoSrsO
ありがとうございました。逝ってきます。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5370日前に更新/211 KB
担当:undef