1read 100read
2012年1月2期プログラム53: Git 3 (961) TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
54: 【Google】Androidアプリ作成part11 (611)
55: iモード携帯電話用Java(iアプリ) Part22 (706)
56: コンピュータプログラミングの概念・技法・モデル (258)
57: C1x (112)

Git 3


1 :11/07/12 〜 最終レス :12/01/25
ソースコード管理を行う分散型バージョン管理システム、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/

2 :
◆過去スレ
git スレッド [Linux板]
http://hibari.2ch.net/test/read.cgi/linux/1197798039/
◆関連スレ
バージョン管理システムについて語るスレ8 [プログラム板]
http://hibari.2ch.net/test/read.cgi/tech/1295493964/
CVS 1.3 [UNIX板]
http://hibari.2ch.net/test/read.cgi/unix/1093611448/
CVS導入スレ〜 Rev.3 [プログラム板]
http://hibari.2ch.net/test/read.cgi/tech/1113141518/
subversion バージョン管理【サブバージョン】 [Linux板]
http://hibari.2ch.net/test/read.cgi/linux/1154701996/
Subversion r13 [プログラム板]
http://hibari.2ch.net/test/read.cgi/tech/1286654542/
【分散型バージョン管理】 Mercurial 【hg】 [プログラム板]
http://hibari.2ch.net/test/read.cgi/tech/1251208950/
【bzr】Bazaarでバージョン管理 Rev 3 [プログラム板]
http://hibari.2ch.net/test/read.cgi/tech/1297704483/

3 :
◆関連書籍
入門Git [濱野 純 著/秀和システム]
http://www.shuwasystem.co.jp/products/7980html/2380.html
入門git [Travis Swicegood 著、でびあんぐる 監訳/オーム社]
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06767-9
実用Git [Jon Loeliger 著、吉藤 英明 監訳、本間 雅洋、渡邉 健太郎、浜本 階生 訳/オライリー・ジャパン]
http://www.oreilly.co.jp/books/9784873114408/

4 :
1おつ

5 :
です。夏中には何かパッチ送ってみます。

6 :
リモート系のコマンドとブランチとheadとかがよくわかんない

7 :
みなさん CHANGELOG どうやって書いてますか
書かないわけにもいかないし…

8 :
ChangeLog は書式がいろいろあるからなあ
ぶっちゃけ気に入ったのをどっかから持ってきてバージョンごとにコピペして手作業で追記して使うというのがメジャーかと思う
git log --pretty=%s とかで git のログはまとまるので、適当にコピペして貼ったり切ったり

9 :
Git流の開発スタイルだと ChangeLog なんて綴ってられんよな?

10 :
連投スマンが、 ChangeLog(.txt) のコンフリクトを解消するのって本質的な作業じゃないよな。

11 :
>>9
コミットログとチェンジログは役割が違う
チェンジログはまとめ広報に近い
「今回のバージョンの変更点はgitのコミットログ見てくださいね^^v」というのは現状極めて不親切だ
…いや、まあ、不親切でもいいんだけど、不親切だという謗りは免れないだろう
コミットごとにコミットについての追加変更著者情報が書かれているのがコミットログで、
バージョンパッケージングごとにバージョン間の動作の変更点と注意が書かれているのがチェンジログだと思う
実際にいつ誰がツリーにコミットしてソース上の変更行がどこかなんてのはチェンジログには不要というか余分

12 :
redmineのチケットと連動させれば?

13 :
>>11
思うのは勝手だが一般的な流儀とはかけ離れてるなw

14 :
このへん、普段どんなプロジェクト追っ掛けてるかによってもけっこう違う気はする
ブランチと pull リクエストの散発的な日付のマージが連打してる git のコミットログから
前バージョンとの変更点を見つけるのは、ものによってはかなりめどい
ソース上どんな変更があったのかは自明だが、それが意味するのはナンデスカみたいな

15 :
>>11
> バージョンパッケージングごとにバージョン間の動作の変更点と注意が書かれているのがチェンジログだと思う
オレはそれはリリースノートだと思うなぁ

16 :
なんというか、「ここで変数 i に10を代入」的な1行コミットログを書く人がいると、なんかとてもめんどくさくなる感じ
ひとつひとつのコミットがきちんと有機的に構成されて説明が充分であれば、コミットログだけでなんとかなるんじゃないかと
でも普通はそんなコミットなんてしないよね
めんどくさいし、整合性も取りづらいというかむしろ全く取れない
「update README」 ではなく、README に何を書いたかきちんとコミットログに書いてる?
「merge branch xxxx」ではなく、そのブランチのマージによってソフトウェアに何が起こるかきちんと説明書いてる?

17 :
ひと山いくらで動いてる人ですら、書いているというのに…

18 :
あんま書いてない例のほうが多い気がす
せめて何がどう直ったのかくらいは書いて欲しい

19 :
GNU だと ChangeLog は開発者用で commit log message そのもの、
利用者向けには NEWS を用意することになってるね。
git だと GNU的な ChangeLog はいらんような気がする

20 :
883 デフォルトの名無しさん [sage] 2011/07/18(月) 21:51:31.64 ID: Be:
gitって、mq相当のことはひたすらローカルリポジトリ内でcommitを整形していく感じなんだな。
ローカルとは言えcommitしたのをいじくり回すってのは結構違和感がある。
ってなことをgitのスレに書くといろいろありそうなのでここに書く。

21 :
884 デフォルトの名無しさん [sage] 2011/07/18(月) 23:22:29.36 ID: Be:
同種ツールの一長一短、ポリシーの違いだからなぁ
使ったことないけどbazaarも同じようなことしようとするとmercurialとまったく同じにはならんのだろう

22 :
>>5
言っとくけど git.vger の Signed-off-by は実名限定だからな。
そのふざけたハンドルを2chで名乗ってるのが誰なのかバレるぜ。

23 :
よく知らないけど mq ってパッチ管理のはずだから
同じことをしたいのなら StGIT とか Guilt になるんじゃないかな
オレの感覚だと git でできるコミット整理ができないから
パッチ管理の mq でお茶を濁している感じ
何か意図するところがあってそういう設計にしているってことなのかもしれないけど

24 :
Advanced uses of Mercurial Queues
http://foozy.bitbucket.org/hgbook-ja/d6ca1334a19d/hgbookch13.html

25 :
>>22
2chで実名でカキコするワケねーだろ。
Junioに向かってを名乗るワケねーだろ。

26 :
1タグに関する修正のコミットを実名つきでしたら、
このスレに11と書き込んでた人と紐づけされるという話だろう
…まあ、1はただの1で別に他の意味もないし、
1という表現を使う人は(2chみたいなところでは)珍しくもないが

27 :
ちなみに10タグ(ML上では 10k of refs)は遠い将来の課題にして、
さしあたってはスマートタグみたいなものを実現してみようと思う。
git-svn/.rev_map とか notes の情報を lightweight tag と同等に扱えるようにする感じ。
Git はともかく他のオプソも本業ではないので、進捗を急かさないでね。
ところで git-notes って活用されてる?

28 :
素で位取り間違えたが10kじゃなく100k

29 :
日本名でパッチ投げるのはそう居ないし、内容見たらバレバレだろw
職場でさん呼ばわりされる日も近いw

30 :
質問させてください。
windows7 32bitにturtoisGitをインストールしたあと
右クリックのgit cloneを押すと
git have not installed が出てしまいます。
これはどのようにすれば解決するか教えてください。

31 :
msysgitなどをインス子しろとリリースノートに書いてなかった?

32 :
さらしあげ

33 :
Git-1.7.6-preview20110708.exe
は入っているのですが、git have not installedが出ます。
エラーの原因がわかりません。アドバイスをお願いいたします。

34 :
git.exe のpathを設定する場所が Settings... にない?
自らあげ

35 :
ありがとうございます!
夕方から迷っていましたがやっと使えるようになりました!
紳士さん本当にありがとうございます!

36 :
まだ若いんだから中年のおっさんみたいなマネはやめろよ

37 :
はホントに大好きだが君たちGitについて語ってくれ
Gitそのものをほげるのはもあべたー

38 :
俺だって大好きだしここはGitスレなんだからもちろん
Gitについて語りたいけど、無駄に連呼する奴と絡もうとは
思わないな。そういうヤツの相場はまあたいていアレだよ。。。

39 :
Macな知り合いにTower勧めようとしたんだけど、これって有償なのか。
もしかしてAll in Oneなパッケージなわけじゃなくて、ただのフロントエンド?

40 :
自分が使ってもないものを他人に勧めるのか・・・?

41 :
いや、自分WINなんですけど、Macだと簡単に操作できるアプリあったよな…
という記憶から引っ張り出してきまして。

42 :
>自分が使ってもないものを他人に勧めるのか・・・?
のこと?

43 :
管卵

44 :
を使わない奴らによってスレになりそうな悪寒

45 :
カ オ ス ラ ウ ン ジ ゆ る せ な ぁ い ー

46 :
git svnで作ったリポジトリから簡単にsubversion向けのパッチを作れないですかね
exportしたzipファイルをsvnの作業コピーに上書きするのは面倒です

47 :
俺が参加してるsvnプロジェクトだと git diff のパッチ
それどころか git-format-patch ですら歓迎してくれるぞ。
(patch -p1 -N で食えることを皆知ってるからね)
つか SVN 専だったとしても patch -p0 じゃないの?

48 :
git で cvs udpate -D 2011-03-11 みたいなことをするには
どのようにすればよいですか?

49 :
svnコマンドもだいぶ忘れまくってるけど、cvsはもう完全に無理だな
何にも思い出せない

50 :
SVN向けのパッチ、なんてあるんだっけ?専用のフォーマット?

51 :
git diffで作ったパッチだとTortoiseMergeで開けないみたいなので
この2つを試しましたが、構文エラーが出て全く動きません!
http://mojodna.net/2009/02/24/my-work-git-workflow.html
http://abombss.com/blog/2007/12/10/creating-patches-for-subversion-from-git/

52 :
エラーメッセージはこんな漢字でした
http://mojodna.net/2009/02/24/my-work-git-workflow.html
\git-svn-diff\git-svn-diff.sh: line 14: conditional b
inary operator expected
\git-svn-diff\git-svn-diff.sh: line 14: syntax error
near `=~'
t\git-svn-diff\git-svn-diff.sh: line 14: `if [[ "$TRAC
KING_BRANCH" =~ URL.* ]]'
http://abombss.com/blog/2007/12/10/creating-patches-for-subversion-from-git/
Traceback (most recent call last):
File "\git-svn-utils/git-svn-diff", line 24, in <mo
dule>
svn_rev = get_output(['git-svn', 'find-rev', treeish]).read().strip()
File "\git-svn-utils/git-svn-diff", line 6, in get_
output
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
File "c:\Python27\lib\subprocess.py", line 672, in __init__
errread, errwrite)
File "c:\Python27\lib\subprocess.py", line 882, in _execute_child
startupinfo)
WindowsError: [Error 2] 指定されたファイルが見つかりません。

53 :
Git GUIでファイルを右クリック→git historyで当該ファイルのみに絞った変更履歴が出せて便利なのですが、
これに相当する操作をコマンドラインのみで行えないでしょうか?

54 :
ブランチにコメントを付けるような機能ってないでしょうか?
ブランチ名だけだと何のためのブランチか忘れてしまうことがあって…

55 :
なんで、そんなに大量にブランチ作っているわけ?
作業したらマージしないの?
個人でのブランチは、plainテキストか、wikiで管理してればいいと
思うけど。 担当者名/hogehoge-feature とか fuga-fixとか他人から
見えるのは、変数名同様にちゃんと考えているのだろうか。

56 :
>>53
gitgui使わないから分かんないんだけど、普通に git log パス じゃダメなん?

57 :
>>55
git merge --no-ff とやって、担当者名/hogehoge-feature がログに残ることを義務付けている宗派がある

58 :
>>56
>>>53
>gitgui使わないから分かんないんだけど、普通に git log パス じゃダメなん?
変更履歴という書き方がわかりずらかったですね、すいません
当該ファイルのみのコミットログも見れるに越したことはないのですが、
一番見たいのは当該ファイルのみのリビジョン間のdiffなんです

59 :
??

60 :
>>58
git diff --help

61 :
>>58
git log -p パス

62 :
>>55
趣味で組んでるものなので、wiki使うほど大げさではないし、
下手すりゃ数か月後に続きを、みたいなことがあるので
ブランチ名見返してもよく思い出せないことが…

63 :
ブランチ名でログを表示させればいいんじゃないのかな?
そのブランチでやってる作業についてのログを読めば、
なんのブランチか思い出すんでは。

64 :
コミットログをちゃんと書いてれば
ブランチのコメントとか言い出さないと思うんだが。。。

65 :
素直にSourceForge使うことにしました…

66 :
SVNからGitへのリポジトリ移行を考えています。
git-svn clone でSVNのリポジトリをとってくると、SVN上のbranch/tagに代わる
git上のbranchが大量にできるのですが、
このbranchを全てpushする方法というのはあるのでしょうか?

67 :
ある

68 :
>>67
どうすれば良いのでしょう?

69 :
http://stackoverflow.com/questions/1914579/set-up-git-to-pull-and-push-all-branches
ですかね?でもリモートブランチを直接pushとかできるんでしょうか…?

70 :
githubで変換できますね。
http://help.github.com/import-from-subversion/
今回はこれで十分かも…

71 :
>>70
試してみたらgit svn cloneしてるだけでした…git2svnの説明と共にあったのでてっきりbrach/tagも同期してくれるものかと。

72 :
使い始め初心者です。
git add .とgit commitって、どっちも現在の状態を記録する的なイメージで、漠然としか理解していないのですが、
最終的にはcommitしないとgitとしてはセーブされないのですよね?
これらのコマンドが何をやってるのかをわかりやすく教えていただけないでしょうか?

73 :
add は新しいファイルをgitに登録する
commit は変更を記録する

74 :
stageでググるとaddが何してるかわかるかな

75 :
add .を連発するのは非推奨なのですね。

76 :
1ファイルであってもadd -pで変更箇所ごとにログを付けてはコミット。

77 :
HEADに^をつけると1つ前のバージョン、HEAD^^は二つ前のバージョンって理解でよろしいでしょうか。

78 :
>>77
HEAD^は1つめの親
HEAD^^は1つめの親の1つめの親
マージコミットの場合は複数の親があるので、2つめの親を指定するには
HEAD^2のようにする。

79 :
親ってのが何を指すのかが分からないのですが、
1つ前の親というのは、HEADの一つ前のコミットを指すのですか?
それとも、分かれたブランチの元にあるコミットを指すのですか。

80 :
GitHubに登録したのはいいけれど、インターフェイスが英語だ。
日本語表記にできるみたいなのでしたいのだがどうすればいいですか?

81 :
>>72
git commitといっても今の変更内容を全ていっぺんにコミットしたくない場合もある。
ある目的をもってコード書いてるときに別のちょっとしたバグを見つけて直してしまったり。
あとから問題が発生してこのコミットをとりやめなきゃならなくなったときに後者のバグも生き返ってしまう。
そんなときのために、まずgit addでコミット予定の変更を選択して個別にコミットするよう2段階の構成になってる。
詳しくはステージングでググれ。
良いコミットを。

82 :
>>79
git log --all --graph
して見えるグラフのコミットとコミットの間の線が親子関係。

83 :
>>80
日本語UIはこないだ廃止になった。超がんがれ。

84 :
>>79
とりあえず>>1のProGitとGit入門読んだらどうか。
>>83
あれなんで廃止になったんだろうね。
最近はGit本家もその辺前向きに進んでるのに。

85 :
>>82
1つめの親、2つめの親、というのはどうやって決まるんでしょうか

86 :
いつの間にかTortoiseGitの1.7.2.0が出てた
試してみよう

87 :
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 :
あと、Win版のPortableGit-1.7.6-preview20110709は、git-bashを起動しても、
bash:tset:command not found
と出て動作が止まってしまうんだが、これって俺だけですか?

89 :
夏の勘違いの悪寒

90 :
HEAD^ の ^ がシェルで何かに解釈されてるんじゃないの?
やるなら git reset --hard 'HEAD^' とか。
> 88
古い UNIX マシンからそのままコピーしてきた .bashrc あたりが残ってるとか。
.bashrc あたりで test と tset を間違えてるとか。

91 :
>>87
^で複数行入力はcmd.exeの仕様。
""で囲めば行けるはず。

92 :
>>90本当だ。.bashrc消したらいけました。
>>90>>91
確かにコマンドプロンプトが解釈してました。
コマンドプロンプトはシングルクォートも通らなかったりして、使うのが鬱陶しいですね。

93 :
Win版のgit-bashで起動時のカレントディレクトリを変更するには、どこをどういじればいいでしょうか?

94 :
付属のGit Bash.vbsをいじって初期cdを変更しておきたいのですが。

95 :
gitをwebdavでってことで、bareを設置してなんとか使えてはいます。
pushできるユーザーにはwebdavへの権限を与えるわけですが、
これって、pushできるユーザーはwebdavに直接アクセスし、
bareのファイルを生で触ってリポジトリの破壊等ができてしまうようです。
ちょっとまずくないですか?
コミッターなんだから破壊権限までありますよ。
気をつけてつかいましょう、っていう思想なのでしょうか……。

96 :
ユーザは全員、リポジトリ全体のコピーを丸ごと clone して持ってるのだから、
破壊されても誰かのリポジトリからコピーし戻せばいいだけじゃね

97 :
>>96
davでの公開って、共有スペースにbareを置いてるだけなので
あまり期待できないっぽいですね。
pushを途中で切断したり、耐久テストしてたらやっぱり壊れました。
他にはdavのPUTできる場所を限定して、DELETEを禁止とかで
なんとか運用できないものかと考えてます。

98 :
Gitの仕組み上、pushを途中で切断して壊れるってのは無いと思うけどなー

99 :
>>98
davがLOCKしたままになってたようです。
timeoutを設定しました。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
・ 次のスレ
54: 【Google】Androidアプリ作成part11 (611)
55: iモード携帯電話用Java(iアプリ) Part22 (706)
56: コンピュータプログラミングの概念・技法・モデル (258)
57: C1x (112)