1 名前:デフォルトの名無しさん mailto:sage [2011/07/12(火) 01:53:58.45 ] ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。 Git - Fast Version Control System git-scm.com/ ◆前スレ Git 2 hibari.2ch.net/test/read.cgi/tech/1284467898/ ◆関連サイト Pro Git - Table of Contents progit.org/book/ja/ Git入門 www8.atwiki.jp/git_jp/
54 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 16:28:39.58 ] ブランチにコメントを付けるような機能ってないでしょうか? ブランチ名だけだと何のためのブランチか忘れてしまうことがあって…
55 名前: 忍法帖【Lv=30,xxxPT】 mailto:sage [2011/07/31(日) 00:04:08.01 ] なんで、そんなに大量にブランチ作っているわけ? 作業したらマージしないの? 個人でのブランチは、plainテキストか、wikiで管理してればいいと 思うけど。 担当者名/hogehoge-feature とか fuga-fixとか他人から 見えるのは、変数名同様にちゃんと考えているのだろうか。
56 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 00:21:14.30 ] >>53 gitgui使わないから分かんないんだけど、普通に git log パス じゃダメなん?
57 名前:デフォルトの名無しさん [2011/07/31(日) 07:04:46.54 ] >>55 git merge --no-ff とやって、担当者名/hogehoge-feature がログに残ることを義務付けている宗派がある
58 名前:53 mailto:sage [2011/07/31(日) 11:51:18.53 ] >>56 >>>53 >gitgui使わないから分かんないんだけど、普通に git log パス じゃダメなん? 変更履歴という書き方がわかりずらかったですね、すいません 当該ファイルのみのコミットログも見れるに越したことはないのですが、 一番見たいのは当該ファイルのみのリビジョン間のdiffなんです
59 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 13:22:00.86 ] ??
60 名前:デフォルトの名無しさん [2011/07/31(日) 16:43:03.52 ] >>58 git diff --help
61 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 17:16:37.48 ] >>58 git log -p パス
62 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 20:22:40.60 ] >>55 趣味で組んでるものなので、wiki使うほど大げさではないし、 下手すりゃ数か月後に続きを、みたいなことがあるので ブランチ名見返してもよく思い出せないことが…
63 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 20:32:20.29 ] ブランチ名でログを表示させればいいんじゃないのかな? そのブランチでやってる作業についてのログを読めば、 なんのブランチか思い出すんでは。
64 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 12:35:17.57 ] コミットログをちゃんと書いてれば ブランチのコメントとか言い出さないと思うんだが。。。
65 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 17:56:12.27 ] 素直にSourceForge使うことにしました…
66 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 18:52:10.49 ] SVNからGitへのリポジトリ移行を考えています。 git-svn clone でSVNのリポジトリをとってくると、SVN上のbranch/tagに代わる git上のbranchが大量にできるのですが、 このbranchを全てpushする方法というのはあるのでしょうか?
67 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 19:26:28.91 ] ある
68 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 20:04:45.37 ] >>67 どうすれば良いのでしょう?
69 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 21:09:50.91 ] stackoverflow.com/questions/1914579/set-up-git-to-pull-and-push-all-branches ですかね?でもリモートブランチを直接pushとかできるんでしょうか…?
70 名前:デフォルトの名無しさん mailto:sage [2011/08/10(水) 11:31:39.72 ] githubで変換できますね。 help.github.com/import-from-subversion/ 今回はこれで十分かも…
71 名前:デフォルトの名無しさん mailto:sage [2011/08/10(水) 11:39:19.83 ] >>70 試してみたらgit svn cloneしてるだけでした…git2svnの説明と共にあったのでてっきりbrach/tagも同期してくれるものかと。
72 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 17:46:10.88 ] 使い始め初心者です。 git add .とgit commitって、どっちも現在の状態を記録する的なイメージで、漠然としか理解していないのですが、 最終的にはcommitしないとgitとしてはセーブされないのですよね? これらのコマンドが何をやってるのかをわかりやすく教えていただけないでしょうか?
73 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 17:58:06.14 ] add は新しいファイルをgitに登録する commit は変更を記録する
74 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 18:01:00.91 ] stageでググるとaddが何してるかわかるかな
75 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 21:14:56.89 ] add .を連発するのは非推奨なのですね。
76 名前:デフォルトの名無しさん [2011/08/13(土) 21:28:55.22 ] 1ファイルであってもadd -pで変更箇所ごとにログを付けてはコミット。
77 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 00:52:54.20 ] HEADに^をつけると1つ前のバージョン、HEAD^^は二つ前のバージョンって理解でよろしいでしょうか。
78 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 03:06:16.02 ] >>77 HEAD^は1つめの親 HEAD^^は1つめの親の1つめの親 マージコミットの場合は複数の親があるので、2つめの親を指定するには HEAD^2のようにする。
79 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 04:05:38.81 ] 親ってのが何を指すのかが分からないのですが、 1つ前の親というのは、HEADの一つ前のコミットを指すのですか? それとも、分かれたブランチの元にあるコミットを指すのですか。
80 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 05:23:04.50 ] GitHubに登録したのはいいけれど、インターフェイスが英語だ。 日本語表記にできるみたいなのでしたいのだがどうすればいいですか?
81 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 06:02:40.76 ] >>72 git commitといっても今の変更内容を全ていっぺんにコミットしたくない場合もある。 ある目的をもってコード書いてるときに別のちょっとしたバグを見つけて直してしまったり。 あとから問題が発生してこのコミットをとりやめなきゃならなくなったときに後者のバグも生き返ってしまう。 そんなときのために、まずgit addでコミット予定の変更を選択して個別にコミットするよう2段階の構成になってる。 詳しくはステージングでググれ。 良いコミットを。
82 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 06:05:18.89 ] >>79 git log --all --graph して見えるグラフのコミットとコミットの間の線が親子関係。
83 名前:デフォルトの名無しさん [2011/08/14(日) 07:56:56.50 ] >>80 日本語UIはこないだ廃止になった。超がんがれ。
84 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 14:11:25.61 ] >>79 とりあえず>>1 のProGitとGit入門読んだらどうか。 >>83 あれなんで廃止になったんだろうね。 最近はGit本家もその辺前向きに進んでるのに。
85 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 01:24:22.39 ] >>82 1つめの親、2つめの親、というのはどうやって決まるんでしょうか
86 名前:デフォルトの名無しさん mailto:sage [2011/08/15(月) 22:55:29.20 ] いつの間にかTortoiseGitの1.7.2.0が出てた 試してみよう
87 名前:デフォルトの名無しさん mailto:sage [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 となるエラーは何が悪いのでしょうか?
88 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 17:15:23.42 ] あと、Win版のPortableGit-1.7.6-preview20110709は、git-bashを起動しても、 bash:tset:command not found と出て動作が止まってしまうんだが、これって俺だけですか?
89 名前:デフォルトの名無しさん [2011/08/16(火) 19:32:18.39 ] 夏の勘違いの悪寒
90 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 20:06:56.84 ] HEAD^ の ^ がシェルで何かに解釈されてるんじゃないの? やるなら git reset --hard 'HEAD^' とか。 > 88 古い UNIX マシンからそのままコピーしてきた .bashrc あたりが残ってるとか。 .bashrc あたりで test と tset を間違えてるとか。
91 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 20:18:03.34 ] >>87 ^で複数行入力はcmd.exeの仕様。 ""で囲めば行けるはず。
92 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 20:48:16.24 ] >>90 本当だ。.bashrc消したらいけました。 >>90 >>91 確かにコマンドプロンプトが解釈してました。 コマンドプロンプトはシングルクォートも通らなかったりして、使うのが鬱陶しいですね。
93 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 21:07:37.52 ] Win版のgit-bashで起動時のカレントディレクトリを変更するには、どこをどういじればいいでしょうか?
94 名前:デフォルトの名無しさん mailto:sage [2011/08/17(水) 02:11:10.03 ] 付属のGit Bash.vbsをいじって初期cdを変更しておきたいのですが。
95 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 10:41:56.52 ] gitをwebdavでってことで、bareを設置してなんとか使えてはいます。 pushできるユーザーにはwebdavへの権限を与えるわけですが、 これって、pushできるユーザーはwebdavに直接アクセスし、 bareのファイルを生で触ってリポジトリの破壊等ができてしまうようです。 ちょっとまずくないですか? コミッターなんだから破壊権限までありますよ。 気をつけてつかいましょう、っていう思想なのでしょうか……。
96 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 11:01:30.51 ] ユーザは全員、リポジトリ全体のコピーを丸ごと clone して持ってるのだから、 破壊されても誰かのリポジトリからコピーし戻せばいいだけじゃね
97 名前:95 mailto:sage [2011/08/20(土) 13:06:07.35 ] >>96 davでの公開って、共有スペースにbareを置いてるだけなので あまり期待できないっぽいですね。 pushを途中で切断したり、耐久テストしてたらやっぱり壊れました。 他にはdavのPUTできる場所を限定して、DELETEを禁止とかで なんとか運用できないものかと考えてます。
98 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 13:32:54.37 ] Gitの仕組み上、pushを途中で切断して壊れるってのは無いと思うけどなー
99 名前:95 mailto:sage [2011/08/20(土) 16:15:35.83 ] >>98 davがLOCKしたままになってたようです。 timeoutを設定しました。
100 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 12:50:21.30 ] 次期OSS標準はそろそろ決まって欲しい 今の勢力って git>hg>bzr なかんじ?
101 名前:デフォルトの名無しさん mailto:sage [2011/08/25(木) 15:07:22.35 ] GoogleCodeがGit受け入れて、ほぼ趨勢は決したんじゃないかな
102 名前:デフォルトの名無しさん [2011/08/26(金) 11:02:29.54 ] 復活?
103 名前:デフォルトの名無しさん mailto:sage [2011/08/26(金) 11:36:44.71 ] test
104 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 03:10:23.55 ] gitのややこしいコマンド体系、というか破綻してるコマンド体系を なんとかしようという動きはないのかな。
105 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 11:04:02.99 ] 慣れると気にならないからなぁ
106 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 15:08:42.70 ] 慣れると、つーか、開発のスタイルをgitに合わせないといけなくて、 そのスタイルでやるとすんなり来る感じ。 gitのモデルとする開発スタイルは従来のバージョン管理システムとはわりと違う感じ。
107 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 16:56:18.65 ] そういう問題じゃなくてだなぁ、他の分散管理に比べてもコマンド体系がおかしいんだよ 信者もいるし、gitの気持ち悪さは暗黙の了解だけとも
108 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 17:12:14.06 ] >>104 EasyGit people.gnome.org/~newren/eg/
109 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 17:53:18.24 ] TortoiseGit
110 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 19:23:41.66 ] >>107 詳しく
111 名前: 忍法帖【Lv=6,xxxP】 mailto:sage [2011/08/27(土) 20:16:34.12 ] 質問です ファイアウォールのためネットワーク越しにgit cloneできない環境で これと同等のことをしたいのですが、 .gitディレクトリ以下を丸ごと相手に渡せば大丈夫ですか? また、この方法でまずい点はありませんか?
112 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 20:32:36.72 ] >>111 それで全データ渡せるけど、無駄なモノもけっこう含まれちゃうかも。 渡す前にgit gcしとけば多少は無駄が省けると思う。
113 名前:111 mailto:sage [2011/08/27(土) 20:48:04.37 ] >>112 分かりました ありがとうございます
114 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 21:48:14.57 ] Gitのコマンド面倒くさ GUI使えないのかな
115 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 21:49:54.27 ] TortoiseGit
116 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 22:17:31.40 ] >>107 多いのは信者じゃなくてアンチだろw コマンドの数が多いとか難癖つけてさ。 おおかたウインドウズ大好きでC++信者なんだろうが、 頑張ってDISってる姿は滑稽だよ。
117 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 22:34:58.85 ] まさに信者だな
118 名前:デフォルトの名無しさん mailto:sage [2011/08/27(土) 23:49:04.17 ] >>111 そういう時はgit bundle使うんじゃなかったっけ
119 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 01:01:55.19 ] preview20110708ベースのUTF-8ファイル名対応版 Gitで 日本語ファイルやディレクトリのaddやcommitはできるんだが、 日本語ディレクトリを含むパスでのinitができないのは俺だけ?
120 名前:デフォルトの名無しさん mailto:sage [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のようなゴミも渡すけど。
121 名前:111 mailto:sage [2011/08/28(日) 08:40:26.10 ] >>118 man読みました まさにこれがやりたかったんです ありがとうございます
122 名前:デフォルトの名無しさん mailto:sage [2011/08/28(日) 09:05:35.14 ] >>119 の書き込み見てUTF-8対応版の最新版が来てたのを知った d
123 名前:デフォルトの名無しさん mailto:sage [2011/08/29(月) 22:43:10.78 ] >>120 いやコミットし忘れてるんならまずコミットしろよw
124 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:09:15.28 ] gitの管理を完全にやめるとき、あるいはリセットするとき、 .gitディレクトリを削除すればそれで完全にリセットできますか?
125 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:23:39.58 ] >>124 管理をやめるなら.gitを消せばいい。 リセットというのがどういう動作を指すのかわからんのだが、 仮にバージョン管理を始める前の状態に戻すという意味なら、 .gitを消すだけでは元に戻せない。
126 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 01:40:26.81 ] ありがとうございます。管理をやめるだけで、別にファイルは現状のままでいいので、 それで解決します。
127 名前:デフォルトの名無しさん mailto:sage [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できないんですけど、どうすればいいでしょうか?
128 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 15:19:15.22 ] >>127 cloneしなければいいよ
129 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 15:42:23.64 ] エスパーすると、githubにhttpsでアクセスしてる?
130 名前:デフォルトの名無しさん mailto:sage [2011/09/01(木) 16:04:39.87 ] >>129 あ。してます。もしかしてGit Read-Onlyで出てくるアドレスの方を入力するべきなのか。
131 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 07:17:15.65 ] エスパーどころかエラー内容全部書いてるだろww 証明書が確認できないんだとさ、 取得できないならURLと権限を確認しろ 不一致か期限切れなら-fしてみろ ついでに後者なら鯖管に報告しろ
132 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 07:19:30.44 ] エスパーしたのはgithubの部分か、 すまん早とちりだ
133 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 18:01:55.65 ] >>127 d.hatena.ne.jp/tmatsuu/20110614/1308010044
134 名前:デフォルトの名無しさん mailto:sage [2011/09/02(金) 18:35:14.59 ] >>133 おおこれは。ありがたいです。
135 名前:デフォルトの名無しさん mailto:sage [2011/09/04(日) 14:46:51.52 ] git apply が当たらない パッチ読んでもファイル読んでも絶対に適用できる自信がある小さなコミット由来なんだが、でも git apply -v でエラーが出る …まあ、どうせどっかで間違えてるんだろうけど、ぜんぜん見えねえ 昼寝でもするか…
136 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 16:50:50.98 ] "main"と"test"というブランチがあるとして、 testで作業しててcommitやmergeしたら、じつはmainにいたので(略 みたいな事態を避けるために、 特定のブランチに対しては、特に明示しない限りcommitなどをさせない、 ようするに特定のブランチを保護しとくみたいな方法ってありますか? まだgit自体使い始めでよくわかってないので、ヘンなこと書いてるかもしれませんが...
137 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 19:32:55.55 ] コミットをよそに晒してない限り reset も rebase もし放題だ。精一杯失敗しまくれ。 Gitではコミットはなかなか消えん。しばらくは git reflog がトモダチだな。
138 名前:136 mailto:sage [2011/09/06(火) 20:37:50.52 ] >>137 reflog でググりました 安心して失敗しまくることにします
139 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 21:07:40.73 ] 俺はgit-completionでPS1書き換えてブランチ名出すようにしてるな。
140 名前:デフォルトの名無しさん mailto:sage [2011/09/06(火) 22:08:09.03 ] pre-commitフックで拒否するとか。自分はマスターブランチへのコミットは全部弾いてる。
141 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 16:48:59.16 ] GitHubからのNotificationsが、メールアドレスにも転送されてくるのですが、これを停止する方法はありませんか?
142 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 17:24:43.02 ] あります。
143 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 19:10:09.91 ] 教えていただきたいのですが。
144 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 19:36:24.39 ] 設定画面を見れば一目瞭然だと思うのですが。
145 名前:デフォルトの名無しさん mailto:sage [2011/09/08(木) 19:39:44.66 ] ああ。Notification Centerでしたか。
146 名前:デフォルトの名無しさん mailto:sage [2011/09/11(日) 23:41:30.95 ] 最近のCygwinはUTF-8だから日本語も問題が起きないんだよね? てことはmsysがUTF-8になったらmsysGitでも日本語をUTF-8で使えるようになるの?
147 名前:デフォルトの名無しさん mailto:sage [2011/09/12(月) 06:08:02.38 ] 理屈はそうだが、msysはUTF-8にならないだろ。 VC++のランタイムをそのまま使うのがmingw、自前でPOSIX層を用意してるのがCygwinなんだから
148 名前:デフォルトの名無しさん [2011/09/13(火) 02:53:48.52 ] gitにはclearcaseでいうmerge arrowという概念はある?
149 名前:146 mailto:sage [2011/09/13(火) 09:56:30.65 ] >>147 なるほど。そこらの仕組みがよくわかってなくて Cygwinのパッケージが少ないのがmsys、ぐらいのイメージだった。 そうするとやっぱり日本語は望み薄だな…
150 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 10:31:53.47 ] システムロケール変更すりゃいいじゃん
151 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 22:03:46.41 ] 今日git checkout .を誤爆して数時間の作業がパーになったんだけど、何とかして修復する方法はない?
152 名前:デフォルトの名無しさん mailto:sage [2011/09/13(火) 23:10:59.72 ] >>151 そのファイルを一度もadd してなかったらどうしようもないな。 checkout もclean みたいに-f 必要だね…
153 名前:デフォルトの名無しさん mailto:sage [2011/09/14(水) 08:58:57.49 ] >>151 -f がついてなかったら、未コミットファイルとの競合でチェックアウトは失敗すると思ったんだが… checkout -f で上書きしちまったんだったら Git レベルでは修復の方法はない、ハズ。 まめに stash するんだなw そうすればオブジェクトは残る。
154 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 22:00:19.89 ] リポジトリに残っていないなら 復元ツールを使うとか