トップページtech
1001コメント296KB

Git 3

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2011/07/12(火) 01:53:58.45
ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。
Git - Fast Version Control System
http://git-scm.com/

◆前スレ
Git 2
http://hibari.2ch.net/test/read.cgi/tech/1284467898/

◆関連サイト
Pro Git - Table of Contents
http://progit.org/book/ja/
Git入門
http://www8.atwiki.jp/git_jp/
0083デフォルトの名無しさん2011/08/14(日) 07:56:56.50
>>80
日本語UIはこないだ廃止になった。超がんがれ。
0084デフォルトの名無しさん2011/08/14(日) 14:11:25.61
>>79
とりあえず>>1のProGitとGit入門読んだらどうか。

>>83
あれなんで廃止になったんだろうね。
最近はGit本家もその辺前向きに進んでるのに。
0085デフォルトの名無しさん2011/08/15(月) 01:24:22.39
>>82
1つめの親、2つめの親、というのはどうやって決まるんでしょうか
0086デフォルトの名無しさん2011/08/15(月) 22:55:29.20
いつの間にかTortoiseGitの1.7.2.0が出てた
試してみよう
0087デフォルトの名無しさん2011/08/16(火) 17:04:21.83
git reset --hard HEAD^すると、
More?
More?
fatal: ambiguous argument 'HEAD
': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
となるエラーは何が悪いのでしょうか?
0088デフォルトの名無しさん2011/08/16(火) 17:15:23.42
あと、Win版のPortableGit-1.7.6-preview20110709は、git-bashを起動しても、
bash:tset:command not found
と出て動作が止まってしまうんだが、これって俺だけですか?
0089デフォルトの名無しさん2011/08/16(火) 19:32:18.39
夏の勘違いの悪寒
0090デフォルトの名無しさん2011/08/16(火) 20:06:56.84
HEAD^ の ^ がシェルで何かに解釈されてるんじゃないの?
やるなら git reset --hard 'HEAD^' とか。
> 88
古い UNIX マシンからそのままコピーしてきた .bashrc あたりが残ってるとか。
.bashrc あたりで test と tset を間違えてるとか。
0091デフォルトの名無しさん2011/08/16(火) 20:18:03.34
>>87
^で複数行入力はcmd.exeの仕様。
""で囲めば行けるはず。
0092デフォルトの名無しさん2011/08/16(火) 20:48:16.24
>>90本当だ。.bashrc消したらいけました。
>>90>>91
確かにコマンドプロンプトが解釈してました。
コマンドプロンプトはシングルクォートも通らなかったりして、使うのが鬱陶しいですね。
0093デフォルトの名無しさん2011/08/16(火) 21:07:37.52
Win版のgit-bashで起動時のカレントディレクトリを変更するには、どこをどういじればいいでしょうか?
0094デフォルトの名無しさん2011/08/17(水) 02:11:10.03
付属のGit Bash.vbsをいじって初期cdを変更しておきたいのですが。
0095デフォルトの名無しさん2011/08/20(土) 10:41:56.52
gitをwebdavでってことで、bareを設置してなんとか使えてはいます。
pushできるユーザーにはwebdavへの権限を与えるわけですが、
これって、pushできるユーザーはwebdavに直接アクセスし、
bareのファイルを生で触ってリポジトリの破壊等ができてしまうようです。
ちょっとまずくないですか?

コミッターなんだから破壊権限までありますよ。
気をつけてつかいましょう、っていう思想なのでしょうか……。
0096デフォルトの名無しさん2011/08/20(土) 11:01:30.51
ユーザは全員、リポジトリ全体のコピーを丸ごと clone して持ってるのだから、
破壊されても誰かのリポジトリからコピーし戻せばいいだけじゃね
0097952011/08/20(土) 13:06:07.35
>>96
davでの公開って、共有スペースにbareを置いてるだけなので
あまり期待できないっぽいですね。
pushを途中で切断したり、耐久テストしてたらやっぱり壊れました。

他にはdavのPUTできる場所を限定して、DELETEを禁止とかで
なんとか運用できないものかと考えてます。
0098デフォルトの名無しさん2011/08/20(土) 13:32:54.37
Gitの仕組み上、pushを途中で切断して壊れるってのは無いと思うけどなー
0099952011/08/20(土) 16:15:35.83
>>98
davがLOCKしたままになってたようです。
timeoutを設定しました。
0100デフォルトの名無しさん2011/08/25(木) 12:50:21.30
次期OSS標準はそろそろ決まって欲しい
今の勢力って git>hg>bzr なかんじ?
0101デフォルトの名無しさん2011/08/25(木) 15:07:22.35
GoogleCodeがGit受け入れて、ほぼ趨勢は決したんじゃないかな
0102デフォルトの名無しさん2011/08/26(金) 11:02:29.54
復活?
0103デフォルトの名無しさん2011/08/26(金) 11:36:44.71
test
0104デフォルトの名無しさん2011/08/27(土) 03:10:23.55
gitのややこしいコマンド体系、というか破綻してるコマンド体系を
なんとかしようという動きはないのかな。
0105デフォルトの名無しさん2011/08/27(土) 11:04:02.99
慣れると気にならないからなぁ
0106デフォルトの名無しさん2011/08/27(土) 15:08:42.70
慣れると、つーか、開発のスタイルをgitに合わせないといけなくて、
そのスタイルでやるとすんなり来る感じ。
gitのモデルとする開発スタイルは従来のバージョン管理システムとはわりと違う感じ。
0107デフォルトの名無しさん2011/08/27(土) 16:56:18.65
そういう問題じゃなくてだなぁ、他の分散管理に比べてもコマンド体系がおかしいんだよ
信者もいるし、gitの気持ち悪さは暗黙の了解だけとも
0108デフォルトの名無しさん2011/08/27(土) 17:12:14.06
>>104
EasyGit
http://people.gnome.org/~newren/eg/
0109デフォルトの名無しさん2011/08/27(土) 17:53:18.24
TortoiseGit
0110デフォルトの名無しさん2011/08/27(土) 19:23:41.66
>>107
詳しく
0111 忍法帖【Lv=6,xxxP】 2011/08/27(土) 20:16:34.12
質問です
ファイアウォールのためネットワーク越しにgit cloneできない環境で
これと同等のことをしたいのですが、
.gitディレクトリ以下を丸ごと相手に渡せば大丈夫ですか?
また、この方法でまずい点はありませんか?
0112デフォルトの名無しさん2011/08/27(土) 20:32:36.72
>>111
それで全データ渡せるけど、無駄なモノもけっこう含まれちゃうかも。
渡す前にgit gcしとけば多少は無駄が省けると思う。
01131112011/08/27(土) 20:48:04.37
>>112 分かりました
ありがとうございます
0114デフォルトの名無しさん2011/08/27(土) 21:48:14.57
Gitのコマンド面倒くさ
GUI使えないのかな
0115デフォルトの名無しさん2011/08/27(土) 21:49:54.27
TortoiseGit
0116デフォルトの名無しさん2011/08/27(土) 22:17:31.40
>>107
多いのは信者じゃなくてアンチだろw
コマンドの数が多いとか難癖つけてさ。
おおかたウインドウズ大好きでC++信者なんだろうが、
頑張ってDISってる姿は滑稽だよ。
0117デフォルトの名無しさん2011/08/27(土) 22:34:58.85
まさに信者だな
0118デフォルトの名無しさん2011/08/27(土) 23:49:04.17
>>111
そういう時はgit bundle使うんじゃなかったっけ
0119デフォルトの名無しさん2011/08/28(日) 01:01:55.19
preview20110708ベースのUTF-8ファイル名対応版 Gitで
日本語ファイルやディレクトリのaddやcommitはできるんだが、
日本語ディレクトリを含むパスでのinitができないのは俺だけ?
0120デフォルトの名無しさん2011/08/28(日) 04:18:53.32
AAA 中のファイル:
    *aaa.c    *bbb.c    ccc.c    *Makefile    a.out
(*は、commitされてるファイルだとして)

git clone AAA BBB で複製した場合
BBB 中のファイル:
    *aaa.c    *bbb.c    *Makefile

cp AAA BBB -r で複製した場合
BBB 中のファイル
    *aaa.c    *bbb.c    ccc.c    *Makefile    a.out

cp だと、コミット忘れしてる ccc.c も渡せて便利w a.outのようなゴミも渡すけど。
01211112011/08/28(日) 08:40:26.10
>>118 man読みました
まさにこれがやりたかったんです
ありがとうございます
0122デフォルトの名無しさん2011/08/28(日) 09:05:35.14
>>119の書き込み見てUTF-8対応版の最新版が来てたのを知った
d
0123デフォルトの名無しさん2011/08/29(月) 22:43:10.78
>>120
いやコミットし忘れてるんならまずコミットしろよw
0124デフォルトの名無しさん2011/09/01(木) 01:09:15.28
gitの管理を完全にやめるとき、あるいはリセットするとき、
.gitディレクトリを削除すればそれで完全にリセットできますか?
0125デフォルトの名無しさん2011/09/01(木) 01:23:39.58
>>124
管理をやめるなら.gitを消せばいい。
リセットというのがどういう動作を指すのかわからんのだが、
仮にバージョン管理を始める前の状態に戻すという意味なら、
.gitを消すだけでは元に戻せない。
0126デフォルトの名無しさん2011/09/01(木) 01:40:26.81
ありがとうございます。管理をやめるだけで、別にファイルは現状のままでいいので、
それで解決します。
0127デフォルトの名無しさん2011/09/01(木) 12:01:29.02
error: SSL certificate problem, verify that the CA cert is OK. Details:!!!
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing <URL>

fatal: HTTP request failed
exit 128 "<URL>"
と出て、cloneできないんですけど、どうすればいいでしょうか?
0128デフォルトの名無しさん2011/09/01(木) 15:19:15.22
>>127
cloneしなければいいよ
0129デフォルトの名無しさん2011/09/01(木) 15:42:23.64
エスパーすると、githubにhttpsでアクセスしてる?
0130デフォルトの名無しさん2011/09/01(木) 16:04:39.87
>>129
あ。してます。もしかしてGit Read-Onlyで出てくるアドレスの方を入力するべきなのか。
0131デフォルトの名無しさん2011/09/02(金) 07:17:15.65
エスパーどころかエラー内容全部書いてるだろww
証明書が確認できないんだとさ、
取得できないならURLと権限を確認しろ
不一致か期限切れなら-fしてみろ
ついでに後者なら鯖管に報告しろ
0132デフォルトの名無しさん2011/09/02(金) 07:19:30.44
エスパーしたのはgithubの部分か、
すまん早とちりだ
0133デフォルトの名無しさん2011/09/02(金) 18:01:55.65
>>127
http://d.hatena.ne.jp/tmatsuu/20110614/1308010044
0134デフォルトの名無しさん2011/09/02(金) 18:35:14.59
>>133
おおこれは。ありがたいです。
0135デフォルトの名無しさん2011/09/04(日) 14:46:51.52
git apply が当たらない
パッチ読んでもファイル読んでも絶対に適用できる自信がある小さなコミット由来なんだが、でも git apply -v でエラーが出る

…まあ、どうせどっかで間違えてるんだろうけど、ぜんぜん見えねえ
昼寝でもするか…
0136デフォルトの名無しさん2011/09/06(火) 16:50:50.98
"main"と"test"というブランチがあるとして、
testで作業しててcommitやmergeしたら、じつはmainにいたので(略
みたいな事態を避けるために、
特定のブランチに対しては、特に明示しない限りcommitなどをさせない、
ようするに特定のブランチを保護しとくみたいな方法ってありますか?
まだgit自体使い始めでよくわかってないので、ヘンなこと書いてるかもしれませんが...
0137デフォルトの名無しさん2011/09/06(火) 19:32:55.55
コミットをよそに晒してない限り reset も rebase もし放題だ。精一杯失敗しまくれ。

Gitではコミットはなかなか消えん。しばらくは git reflog がトモダチだな。
01381362011/09/06(火) 20:37:50.52
>>137
reflog でググりました
安心して失敗しまくることにします
0139デフォルトの名無しさん2011/09/06(火) 21:07:40.73
俺はgit-completionでPS1書き換えてブランチ名出すようにしてるな。
0140デフォルトの名無しさん2011/09/06(火) 22:08:09.03
pre-commitフックで拒否するとか。自分はマスターブランチへのコミットは全部弾いてる。
0141デフォルトの名無しさん2011/09/08(木) 16:48:59.16
GitHubからのNotificationsが、メールアドレスにも転送されてくるのですが、これを停止する方法はありませんか?
0142デフォルトの名無しさん2011/09/08(木) 17:24:43.02
あります。
0143デフォルトの名無しさん2011/09/08(木) 19:10:09.91
教えていただきたいのですが。
0144デフォルトの名無しさん2011/09/08(木) 19:36:24.39
設定画面を見れば一目瞭然だと思うのですが。
0145デフォルトの名無しさん2011/09/08(木) 19:39:44.66
ああ。Notification Centerでしたか。
0146デフォルトの名無しさん2011/09/11(日) 23:41:30.95
最近のCygwinはUTF-8だから日本語も問題が起きないんだよね?

てことはmsysがUTF-8になったらmsysGitでも日本語をUTF-8で使えるようになるの?
0147デフォルトの名無しさん2011/09/12(月) 06:08:02.38
理屈はそうだが、msysはUTF-8にならないだろ。
VC++のランタイムをそのまま使うのがmingw、自前でPOSIX層を用意してるのがCygwinなんだから
0148デフォルトの名無しさん2011/09/13(火) 02:53:48.52
gitにはclearcaseでいうmerge arrowという概念はある? 
01491462011/09/13(火) 09:56:30.65
>>147
なるほど。そこらの仕組みがよくわかってなくて
Cygwinのパッケージが少ないのがmsys、ぐらいのイメージだった。
そうするとやっぱり日本語は望み薄だな…
0150デフォルトの名無しさん2011/09/13(火) 10:31:53.47
システムロケール変更すりゃいいじゃん
0151デフォルトの名無しさん2011/09/13(火) 22:03:46.41
今日git checkout .を誤爆して数時間の作業がパーになったんだけど、何とかして修復する方法はない?
0152デフォルトの名無しさん2011/09/13(火) 23:10:59.72
>>151
そのファイルを一度もadd してなかったらどうしようもないな。
checkout もclean みたいに-f 必要だね…
0153デフォルトの名無しさん2011/09/14(水) 08:58:57.49
>>151
-f がついてなかったら、未コミットファイルとの競合でチェックアウトは失敗すると思ったんだが…
checkout -f で上書きしちまったんだったら Git レベルでは修復の方法はない、ハズ。

まめに stash するんだなw そうすればオブジェクトは残る。
0154デフォルトの名無しさん2011/09/15(木) 22:00:19.89
リポジトリに残っていないなら
復元ツールを使うとか
0155デフォルトの名無しさん2011/09/19(月) 01:35:03.40
なんかずっとメンテ中になってるな、ダウンロードできん
0156デフォルトの名無しさん2011/09/19(月) 08:10:47.08
>>155
Gitのソースコードのことなら、kernel.orgがハクられて落ちてる
こっちのミラーからダウソ推奨
ttp://ftp.iij.ad.jp/pub/linux/kernel/software/scm/git/?C=M;O=D
0157デフォルトの名無しさん2011/09/19(月) 09:53:36.00
kernel.orgはいつ復活するのかのぅ
いろんな所で影響出てる
0158デフォルトの名無しさん2011/09/20(火) 11:31:20.00
まだ乗っ取られたままだったのか。
0159デフォルトの名無しさん2011/09/20(火) 11:38:10.98
乗っとられたままというか、乗っとられていない状態に戻すのに時間かかってるのだろ
0160デフォルトの名無しさん2011/09/20(火) 12:21:15.89
荒らされる前に戻すのが大変てことか
0161デフォルトの名無しさん2011/09/20(火) 13:17:00.60
子供はじっとしてなさい
0162デフォルトの名無しさん2011/09/21(水) 19:46:00.78
今までずっとCygwinでgit使ってきて、今日初めてLinux上でgit使ってみたら速すぎて吹きました。
Cygwin上での遅さ(リーナスが発狂するレベル)を改善するテクニックみたいなのがあれば教えてください。
0163デフォルトの名無しさん2011/09/21(水) 20:05:09.32
Cygwinはファイル操作が致命的に遅いからねえ。
どうしようもないんじゃないのかな。
0164デフォルトの名無しさん2011/09/21(水) 20:15:49.03
ボトルネックになる場所を特定してその部分だけでもcygwinをバイパスすればマシになるかもね
0165デフォルトの名無しさん2011/09/21(水) 20:20:44.58
莫大なファイルを読み書きするところがネックだと思う
でもそこってメイン処理なんじゃ…
0166デフォルトの名無しさん2011/09/21(水) 22:17:52.69
>>162
cygwin を窓から捨てろ
0167デフォルトの名無しさん2011/09/21(水) 23:03:45.36
>>166
確かにhgの方がWindowsフレンドリーみたいですね…
0168デフォルトの名無しさん2011/09/21(水) 23:46:03.85
Cygwinって、まだサポートされているのかよ?
穴だらけなんじゃね?
0169デフォルトの名無しさん2011/09/22(木) 01:47:07.88
>>168
Cygwin使っている人いますか? その20
http://hibari.2ch.net/test/read.cgi/unix/1268282846/
0170デフォルトの名無しさん2011/09/22(木) 09:12:31.83
WindowsのForkがクソ重いんだっけ
0171デフォルトの名無しさん2011/09/22(木) 10:03:15.11
forkよりstatの遅さの方が影響してるんでないかなぁ
0172デフォルトの名無しさん2011/09/22(木) 11:20:51.56
ああ、そういえばgccもcolinux上で動かした方がCygwin/MSYSよか速かったなあ。
そっちでgit試してみます。
0173デフォルトの名無しさん2011/09/22(木) 13:59:13.56
cygwinだとgit遅いのかー
というよりcygwinで開発とかすげーな
0174デフォルトの名無しさん2011/09/22(木) 14:16:06.03
遅いと言ってもネイティブのSVNよりは早いと思った
0175デフォルトの名無しさん2011/09/22(木) 15:16:08.05
Cygwin上で開発してるわけではないです。
Windows上で開発してるものをgitでバージョン管理している、というだけで。
(gccの件は過去の経験上、というだけで)

>>174
確かにそうですね。branchやcommitは即座に完了しますし。
ただgit使ってるとstashやらrebaseやら、
svnでは(機能自体無いので)使わなかった便利機能を使い出すと…という感じですね。
0176デフォルトの名無しさん2011/09/22(木) 16:05:46.13
libgit2がWin32ネイティブ対応していてパスをUTF-8で扱うようになったから
いずれはまともに使えるようになるかもしれない
0177デフォルトの名無しさん2011/09/23(金) 00:11:06.58
なに?なに?今度は期待していいの!?
0178デフォルトの名無しさん2011/09/23(金) 01:33:44.94
現状はかなりカオス気味
VS2008以前でビルド通らないままだったり、
DLLは__stdcallなのにヘッダが__cdeclでリンク不能だったり
0179デフォルトの名無しさん2011/09/25(日) 16:21:45.04
なんかtortoisegitである日から
fatal: bad config value for 'core.hidedotfiles' in ./config
ってメッセージが出てpushに失敗するようになった
なんにもしてないのに。
0180デフォルトの名無しさん2011/09/25(日) 19:01:19.50
おまえ以外の誰かが何かしたんだろ
0181デフォルトの名無しさん2011/09/25(日) 21:22:26.62
この部屋は俺以外いないはずだけど

hideDotFilesって何のパラメータ受け入れてくれるんだよ
0182デフォルトの名無しさん2011/10/01(土) 23:15:32.00
1.7.7キタ━━━━(゚∀゚)━━━━!!
ttp://article.gmane.org/gmane.comp.version-control.git/182519
> The latest feature release Git 1.7.7 is available.
> The release tarballs are found at:
> http://code.google.com/p/git-core/downloads/list
> and their SHA-1 checksums are:
> bbf85bd767ca6b7e9caa1489bb4ba7ec64e0ab35 git-1.7.7.tar.gz
> 33183db94fd25e001bd8a9fd6696b992f61e28d8 git-htmldocs-1.7.7.tar.gz
> 75d3cceb46f7a46eeb825033dff76af5eb5ea3d9 git-manpages-1.7.7.tar.gz
■ このスレッドは過去ログ倉庫に格納されています