トップページ⇒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
0082login:Penguin2008/06/14(土) 14:09:39ID:vfIs0VcC
>>80
了解です。

>>81
>自分の意見押しつけんのも大概にしろ

おまえ良くいる頭にウジ湧いてる決めつけ厨だろ?
誰も意見押しつけてないっつーの
出来るかどうかを聞いてるだけだろ?良い悪いは問題にしてない。
意味無いレスならするなよ
0083login:Penguin2008/06/14(土) 14:15:37ID:jfP/Z0Kj
何が目的で質問してんのか明かさない>>82にも問題あると思うけどな
0084login:Penguin2008/06/14(土) 14:25:30ID:9U0IMmLW
そうかなあ?やり方を聞いてるわけでもないし、
出来るか出来ないかを聞いてるだけなんだから、
ちょっと過剰な反応のような気がするけど。

みんな、マ板の方でうんざりしてるってだけかなw
0085login:Penguin2008/06/14(土) 15:10:17ID:nckv2fL3
俺はcp -pなんて絶対使わない
男ならcpだろ、jk
0086login:Penguin2008/06/14(土) 15:16:30ID:cIQ+spTz
>>85
まったくだ。cp -pなんて使ってる奴は糞だ。
cpには-pを付けろだのなんだのと自分の意見を押し付けんのも大概にしろ。
0087login:Penguin2008/06/14(土) 20:41:25ID:ni3Z2Orf
>>77 されてない。
ttp://git.or.cz/gitwiki/GitFaq#head-76695e517a5f4dc371c613a14a9d88fd0523bf27
0088login:Penguin2008/06/21(土) 18:12:50ID:pkTfrc9v
v1.5.6
http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.6.txt

* "git branch" (and "git checkout -b") can be told to set up
branch.<name>.rebase automatically, so that later you can say "git pull"
and magically cause "git pull --rebase" to happen.

これってbranch.autosetuprebaseのことなのかな…よくわからん
0089login:Penguin2008/06/25(水) 08:24:38ID:mw46d4A7
>>81
世の中にはお前や俺よりバカな奴が一杯いるわけだ。

それを理解していないお前はバカだと思うが、どうだろう?
0090login:Penguin2008/06/28(土) 13:45:49ID:1ufqpgyz
「ギット」なんだね。
ttp://jp.youtube.com/watch?v=8dhZ9BXQgc4
0091login:Penguin2008/06/28(土) 15:12:06ID:/LJ+f5Il
「ジット」だと思ってた?
0092login:Penguin2008/06/28(土) 16:03:19ID:CQHvNqo2
.gifを岐阜と読む漏れにしたらなんともない。
0093login:Penguin2008/06/28(土) 16:15:49ID:5Ndx9bZb
co-git
なんてものもあるんだから、ギットだろう
0094login:Penguin2008/06/28(土) 18:16:30ID:2P6N18bt
>>93
それは cogito というラテン語を知らないと通じないかも。
いや、Cogito ergo sum. くらい常識か。
0095login:Penguin2008/06/29(日) 13:18:38ID:XN4+BjuC
gifを岐阜と読んでる奴は何人いるんだろうか
gitをギットと読んでる奴よりジットと読んでる奴の方が多いんじゃないか
0096login:Penguin2008/06/29(日) 18:28:25ID:qzoCJb7s
日本語としてはギットよりジットの方が自然な気がする。
0097login:Penguin2008/06/29(日) 21:02:31ID:OYNO3DBf
>>93-94
digitは「ディギット」かい?
0098login:Penguin2008/06/29(日) 23:08:37ID:c9hvQ/j5
英単語の発音に統一感を求めてもしょーがないな。
0099login:Penguin2008/06/30(月) 01:35:35ID:tzC6XB0G
ghoti
0100login:Penguin2008/07/01(火) 02:52:00ID:ne12KqOW
ghoch と書いてフィッシュと読むという話なら知っているが……
同じようなもんかな。

0101login:Penguin2008/07/08(火) 22:11:40ID:LSu++xNc
新スレ移行のお知らせ

バージョン管理システムについて語るスレ2
http://pc11.2ch.net/test/read.cgi/tech/1215520728/


夜露死苦ー
0102login:Penguin2008/07/08(火) 22:38:13ID:7zg8vwOw
統合する必要あんのか?
別に総合スレと個別スレがあってもいいじゃん。
それとも単なる荒らし?
0103login:Penguin2008/07/08(火) 22:39:53ID:LSu++xNc
いや、統合とかそんなんじゃなくて、単なる挨拶回り
0104login:Penguin2008/07/08(火) 22:44:59ID:7zg8vwOw
>>103
すまん、強制的に移動しろっていう荒らしが立てたスレかと思った。
勘違いで煽って悪かった。
0105login:Penguin2008/07/08(火) 22:51:37ID:LSu++xNc
>>104
イイヨイイヨー
0106login:Penguin2008/07/09(水) 11:03:24ID:XO23tYI8
マルチうぜぇ。
0107login:Penguin2008/07/09(水) 18:38:40ID:xXnuy0X6
>>103
「挨拶回り」ってどういう意味?w

いや、言葉自体はもちろん知ってますが。
0108login:Penguin2008/07/11(金) 22:53:51ID:ozTGhgN0
http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.6.2.txt
1.5.6はバグ修正多いなぁ
そのうち落ち着くかな?
0109login:Penguin2008/07/12(土) 10:26:18ID:VXCpKRyP
svnでいうところの(というか、cvsでいう)キーワード置換はないですか?
$Id:$
とか、ソースに埋め込まれたのを変更してくれるやつです
0110login:Penguin2008/07/12(土) 11:28:28ID:LefsuGz6
>>109
man gitattributes |less +/ident
01111102008/07/12(土) 11:44:01ID:LefsuGz6
実際に試してみると、CVSやRCSとは違ってcommitした時に
キーワードを変更してくれないな。
$ mkdir foo
$ cd foo
$ git init
Initialized empty Git repository in .git/
$ echo '* ident' >> ./.git/info/attributes
$ echo '$Id$' > TEST
$ git add TEST
$ git commit -m TEST1 TEST
Created initial commit d1fae63: TEST
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 TEST
$ cat TEST
$Id$
$ git checkout -f
$ cat TEST
$Id: 055c8729cdcc372500a08db659c045e16c4409fb $
0112login:Penguin2008/07/13(日) 01:43:59ID:+ZlfHzsH
>>111 ありがとうございます
0113login:Penguin2008/07/13(日) 20:34:30ID:sgALKsd0
git-logでHEADだけ(あるいは特定のversion)だけを取り出す
書式はあるのでしょうか。一応試した限りでは
git log ${version}
とやると現在のブランチで最初から${version}までを全てリスト、
git log HEAD^..HEAD
とやるとHEADだけを取り出せるのですが、versionを二回
書かないといけないのはちょっと面倒です。
0114login:Penguin2008/07/13(日) 21:00:20ID:9od32cQM
git show --summary HEAD ではどうかな?
01151132008/07/13(日) 22:34:10ID:sgALKsd0
>>114
あー、そんなコマンドがあったんですね。ありがとうございます。
git show --name-only と
hg tip -v
がだいたい似たような感じですね。
0116login:Penguin2008/08/05(火) 11:09:27ID:dlGR6/hK
age
0117login:Penguin2008/08/10(日) 04:43:49ID:wkdEdvb8
gitええわ ヽ(´▽`)ノ
今までCVSしか使ったことなかったもんで、軽くカルチャーショックだわ。
末永く使わせてもらいますわ。
0118login:Penguin2008/08/10(日) 12:26:34ID:UwEAQmwP
日本語ファイル名は大丈夫ですか? UTF-8に限定して使おうとは思ってますが。
0119login:Penguin2008/08/10(日) 15:40:41ID:d1U1Jm8D
>>117
どんなところが良いですか?参考にしたいので。
0120login:Penguin2008/08/11(月) 01:18:40ID:Dizr7UnM
>>119
gitはまだ個人利用しかしてないし、他の分散型も全く使った事が
ないので、あくまでcvsとの比較なんだけど。

・使い始めるまでが拍子抜けするぐらい簡単
・ブランチの扱いもすっげー簡単
・ワーキングディレクトリ下にデータベースができるのも管理が楽
・ファイルのリネームもできる

多分、これぐらいはgitでなくてもいいんだろうけど、EmacsのVCが
対応してたので使ってみた。
当然、分散型のメリットも計り知れないと思うけどまだ実感できず。
(メリットは十分理解はしてはいるよ )
0121login:Penguin2008/08/12(火) 22:11:50ID:LzxYrnrK
cvsからの移行だとコマンド体系が似ているのでmercurialの
ほうが(最初の時点では)楽だと思う。
gitで好きなのはsharedなリポジトリを作れることかな。
cloneした時のディスク消費量が小さくて済む。
0122login:Penguin2008/08/12(火) 22:37:04ID:jyLw7NZh
>>121
RCS,CVS->svn->hgって来てる。
gitも使っているけど、hgの方が好み。
ローカルレポジトリでの使用でもgit/hgは便利だと思う。

>>120
> ・ワーキングディレクトリ下にデータベースができるのも管理が楽

これってRCS/CVSもそうじゃないっけ?
svnは違うけど。
0123login:Penguin2008/08/13(水) 04:13:01ID:klCDf59B
>>122
CVSは違うな
0124login:Penguin2008/08/13(水) 13:23:04ID:j62J0KFJ
gitってCVSより遅いんだね
cvs updateでぶっ壊れて止まることはなくなったけどションボリだよ
0125login:Penguin2008/08/13(水) 14:13:32ID:wGlbYnYo
>>124
そんなことはないと思うが。Windowsで使ってるとか?
0126login:Penguin2008/08/13(水) 14:53:37ID:j62J0KFJ
cvs -z3 -d:pserver:[email protected]:/sources/emacs co emacs-cvs 2.70s user 2.19s system 3% cpu 2:11.01 total
git clone git://git.sv.gnu.org/emacs.git emacs-git 187.51s user 5.78s system 22% cpu 14:19.61 total

du emacs-cvs|tail -n 1
107M emacs-cvs
du emacs-git|tail -n 1
241M emacs-git

まるごとcheckoutするのが遅いだけでしたねごめんなすって
0127login:Penguin2008/08/13(水) 20:11:56ID:wRv5KoSx
>>126
そりゃそうだw
CVSリポジトリをrsyncでとってきてそこからcheckoutする時間と
比べれば公平になるんじゃないかな。
0128login:Penguin2008/08/14(木) 00:14:12ID:0EGHDgT1
はじめてgit使った時に手始めにlinux kernelをcloneしたんだが、
まるごと履歴取ってきてるのにあの時間で終わるのはすげーと思った。
0129login:Penguin2008/08/19(火) 02:06:32ID:EJ+ka2Ia
http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.6.0.txt
0130login:Penguin2008/09/10(水) 15:46:19ID:JtA0GFrH
gitでlogを取る方法が分からない
具体的には
git log git://git.videolan.org/x264.git

で svn log svn://ほにゃらら
と似たような結果になると思ったが

fatal: Not a git repository

となる・・
一度cloneで取り込んでgit-logすると直近の変更点は表示されるが、全ての変更点は見られない。
gitは考え方がsvnと根本的に違うみたいでよくわからない。
0131login:Penguin2008/09/10(水) 16:16:38ID:3qB8R8zP
commit 5dc0aae2f900064d1f58579929a2285ab289a436
Author: Laurent Aimar <[email protected]>
Date: Thu Jun 3 19:29:33 2004 +0000

* all: re-import of the CVS.


git-svn-id: svn://svn.videolan.org/x264/trunk@1 df754926-b1dd-0310-bc7b-ec298dee348c

.cvsignore | 3 +
AUTHORS | 35 +
COPYING | 340 +++++
Jamfile | 67 +
Makefile | 58 +
Makefile.cygwin | 52 +
TODO | 65 +
build/cygwin/Makefile | 102 ++
build/win32/libx264.dsp | 742 +++++++++
ry
結構昔まで見えるようだが。
svnでcvsから取り込んだときにログはドロップしてるのか分からないけどここから。
0132login:Penguin2008/09/13(土) 21:59:14ID:hiNgxRSE
gitにsvn st -u相当の動作をさせるにはどうすればいいですか?
0133login:Penguin2008/09/13(土) 22:26:25ID:yne4uVAN
>>132
git help
0134login:Penguin2008/09/15(月) 01:43:26ID:Vn95ZDDR
The Git User's Survey 2008
http://www.survs.com/survey?id=M3PIVU72&channel=2WXE4BVTW8
0135login:Penguin2008/09/15(月) 21:12:16ID:autoD5Br
せっかくの分散管理なのに、pushしたら自分の変更内容とかログが全部あがって
恥ずかしい思いをしたよ。
最初の変数がかなりマニアックだったとか、コメントに入れてた人生の悩みとかばれまくり。

で聞きたいんだが、手元でがしがし変更→commitしている場合、その途中ってみんなどうしてるの?
ぜんぶpush?
なんかいい方法あったら教えて。

0136login:Penguin2008/09/15(月) 21:30:13ID:RrauyvJB
push用のブランチ作って置くんでは?
やったことないけど
これなら公開できると思ったらpush用ブランチに
merge?マージだと履歴も逝ってしまうっけ?
0137login:Penguin2008/09/16(火) 14:00:17ID:sfm/svzZ
つーかコメントに余計なこと書くなよ。
0138login:Penguin2008/09/17(水) 07:07:39ID:mi6NTA+s
古いchangesetの最初の方を掃除することは可能でしょうか。
いまファイルサーバ上のツリーを記録するためにmercurialを
使っているんですが、mercurialにはそういう機能はないので
(MQ用のコマンドstripはあるがそれは直近の数changesetを
消すもの)結局移し替えのためのスクリプトを書いて対応しました。
gitにそういう機能があればhg->git移行するんですが...
0139login:Penguin2008/09/19(金) 00:47:51ID:gbQDBJFb
>>138
Mercurialでもqimport→qfold→qdeleteでできるよ。
めんどくさいけど。
0140login:Penguin2008/09/19(金) 22:53:44ID:oBiMratP
>>139
$ hg qimport -r 1
abort: revision 1 has unmanaged children
0141login:Penguin2008/09/22(月) 01:27:56ID:lsYav/dy
>>140
$ hg qimport -r 1:tip
$ hg qgoto 1.diff
$ hg qfold 2.diff 3.diff
$ hg qpush -a
$ hg qdelete -r qbase:qtip
0142login:Penguin2008/09/22(月) 01:40:43ID:lsYav/dy
スマン、ここgitスレか。
スレ違いだったな。
01431382008/09/23(火) 00:27:41ID:1BYKayXP
>>142
なるほど、勉強になりました。バイナリファイルが混じってる
時は--gitがないとえらいことになる、というのも分かりました。

ところでgitだったらそういう操作は可能でしょうか。
0144login:Penguin2008/09/23(火) 15:08:29ID:T3gMcMGA
git remote add bob /home/bob/myrepo
で作った「bob」を/home/bob/myrepo2に変更したいんだけど
どうすればいいの?
0145login:Penguin2008/09/23(火) 16:42:01ID:BgTvVXV1
一旦消して追加しなおす?
ローカルでリモート使ったことないけど、、、
リモートの概念は自分のワーキングコピーからアクセスできるprefixを
簡単に使うことができるようにする為のもの、と理解してるんだけど。
0146login:Penguin2008/09/24(水) 09:59:21ID:dxz6iP6w
remote -dとかで消せるかな
試してないけど
0147login:Penguin2008/10/01(水) 00:27:09ID:R6cOiuz/
git clone で例えば home/red/blue/yellow と取ってきたとして、
加えて git checkout origin/colors でブランチ "colors"に居ますと。

その後の作業で、いくつかのディレクトリでブランチをmaster/colorと切り替えてたんですが、
全ディレクトリのブランチを一気にmasterにする方法ってありますか?
0148login:Penguin2008/10/02(木) 10:48:37ID:jWmFY2RS
git introduction, yugui Ustream.TV: git introduction rails meeting @ tokyo.
http://www.ustream.tv/recorded/746377
0149login:Penguin2008/10/10(金) 16:24:54ID:s0rmxUVr
git age .
0150login:Penguin2008/10/12(日) 06:30:09ID:jJgFADl+
ttp://d.hatena.ne.jp/kinneko/20081004/p4
0151login:Penguin2008/10/18(土) 03:07:31ID:dDb45WJS
git
0152login:Penguin2008/10/23(木) 01:32:11ID:HvfmsSww
http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.6.0.3.txt
0153login:Penguin2008/11/04(火) 13:32:06ID:3alaTQXX
addしたファイルの一部を、あ〜これ別の修正だなーと思ってcancelしたいん
だけど、どうすればいいかわかりますか?

checkoutすると修正差分消えちゃうし、stashの部分的versionがあれば
いいのかもしれませんが。

まぁ、diff取って手patchでもいいので、今回はそれでやりますが、
後学のために教えてください。
0154login:Penguin2008/11/04(火) 14:30:15ID:pgRYNcfN
>>153
git reset
0155login:Penguin2008/11/04(火) 23:09:57ID:3alaTQXX
>154
ありがとうございます

0156login:Penguin2008/11/05(水) 00:32:36ID:l+PE2hcd
>>153
それよくあるわー
あるファイルをいじってる最中に関係ないバグなんかを見つけて、
つい流れでそのままやっちゃうんだよね。
でもコミットする時には別々にしたくなる...
俺の場合、修正が少ない時は、エディタでundo出来るようにしつつ2回に分けてコミット、
修正が複数ファイルだったり込み入ってる時は、stash使ったりdiff出して後からpatchしたりしてるな。
0157login:Penguin2008/11/14(金) 23:25:39ID:Op12tx9f
http://sourceforge.jp/forum/forum.php?forum_id=16362
0158login:Penguin2008/11/14(金) 23:29:20ID:4rtpLX5i
gitはじまったな。hgとの戦いもこれで決着したか?
0159login:Penguin2008/11/14(金) 23:48:00ID:Lmgx2Pjw
本家 sf.net はまだ git をサポートしてないよね。
この点では sf.jp が先行しているんだ。
0160login:Penguin2008/11/15(土) 06:24:15ID:PSPQtBpR
tortoiseが無いから決着無理でしょ。
0161login:Penguin2008/11/15(土) 18:00:52ID:MUmWX/Lu
あるコミットの親コミットのidはgit log -1 foo^1とかでわかるんだけど、
あるコミットの子コミット一覧をなるべく高速に得る方法ってある?
0162login:Penguin2008/11/22(土) 09:30:29ID:ZDTHO6y7
>>159
ほんとはこういうプリミティブな分野ほど保守的なはずだけど
svn が出てからと言うもの乱世になっちゃった感があるね。
そう言う意味では svn の功績も大きいかも。
そんな中で日本は一般の追従が早かったりするのかな?
ただ sf.jp が勇み足ってこともあるかもしれないけどw
0163login:Penguin2008/11/22(土) 22:19:54ID:f114SqWJ
>>161
原理的に無理なんじゃないの?
コミットすると、その親のレポジトリに通達する仕組みが無いと
0164login:Penguin2008/11/25(火) 21:33:58ID:2oYcDe4N
>>163
mercurialには`hg children'っていうコマンド(extension)が
あるけど、そういう機能のことじゃない?
0165login:Penguin2008/11/29(土) 21:53:13ID:x6WDXIQW
カーネルにおけるリグレッションの特定/ユメのチカラ
http://blog.miraclelinux.com/yume/2007/10/post_d748.html
0166login:Penguin2008/12/12(金) 11:43:38ID:M6DfFnZx
「git add .」の時にemacsのバックアップファイル(hogehoge~)を含まないようにするのはどうすればいい?
0167login:Penguin2008/12/12(金) 14:32:02ID:WlMynC7N
>>166
.gitignoreに「*~」って書いとく
http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#ignoring-files
0168login:Penguin2008/12/12(金) 23:20:38ID:fQQDEn/S
fast-forwardって「早送り」って意味だよな... > wiki
0169login:Penguin2008/12/13(土) 13:26:24ID:OASQvN2r
>>167
ignoreあったのか、�dくす
0170login:Penguin2008/12/14(日) 08:48:06ID:Z9GwfQdj
http://code.google.com/p/tortoisegit/
0171login:Penguin2008/12/14(日) 12:48:29ID:x3iOnWd3
>>170
wktk
0172login:Penguin2008/12/20(土) 01:31:20ID:vKNATyou
質問なのですが

svnでいうチェックアウト(svn co)はgit cloneで合ってますか?
gitではユーザ名を登録しますが、ここで登録したユーザ名を頼りにチェックアウトできますか?

自分で調べた内容は、 http://www8.atwiki.jp/git_jp/pub/Documentation.ja/tutorial.html を見て
「共同開発における git の利用」で git clone /home/alice/project myrepo ってコマンドを探せたくらいです
0173login:Penguin2008/12/20(土) 02:56:48ID:rjvGH0/G
>>172
git cheat sheet でググレカス
0174login:Penguin2008/12/20(土) 09:37:26ID:ei1zjot9
現在mercurialでwebデータのスナップショットをとっています。
ignoreファイルで管理対象にしたくないファイルのパターンを
指定してhg commit -A すると、消えたファイルは削除扱い、
新しいファイルは追加扱いでうまくやってくれるんですが、これを
gitでやるにはgit statusの出力をスクリプトで処理するしかない
でしょうか。
0175login:Penguin2008/12/20(土) 20:34:52ID:D7NqFLzp
add .
commit -a
でいいのかな?
0176login:Penguin2008/12/25(木) 17:46:05ID:waBObvDn
1.6.1キタ━━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(  )━(゚  )━(∀゚ )━(゚∀゚)━━━!!
0177login:Penguin2008/12/25(木) 20:41:00ID:Lvzi1Kt9
>>176
ほんとだ。
http://git.or.cz/ にはまだ出てないけど、Tagは昨日打たれてるんだね。
さっそくビルドしてみよっと。
0178login:Penguin2008/12/25(木) 21:51:01ID:xGFcU4xY
クリスマスプレゼントきてたか。
俺もビルドしてIYH!!
0179login:Penguin2008/12/28(日) 10:56:17ID:M6Jmnnag
は?
0180login:Penguin2009/01/07(水) 13:35:45ID:yljPTwi+
どーもくんwwwww
0181login:Penguin2009/01/07(水) 22:12:42ID:w9oQRMMI
そういやGit、ドーモくんパクってるな。
なんかみたことあるなーとは思てたけど。
■ このスレッドは過去ログ倉庫に格納されています