トップページ⇒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
0002関連スレ2007/12/16(日) 18:46:21ID:f7tgD3+1
バージョン管理システムについて語るスレ
http://pc11.2ch.net/test/read.cgi/tech/1193332500/

ところで Windows ユーザはお呼びでない?
GUI でコミットできたりする?
今は犬糞自鯖の Subversion リポジトリを
TortoiseSVN でつかってるんだけどさ.

あと,Merナントカと比べてどっちがいいの?
0003login:Penguin2007/12/16(日) 19:11:29ID:qBPtEO0s
関連スレ

Linux 板
subversion バージョン管理【サブバージョン】
http://pc11.2ch.net/test/read.cgi/linux/1154701996/
UNIX 板
CVS 1.3
http://pc11.2ch.net/test/read.cgi/unix/1093611448/


>>1
乙。
0004login:Penguin2007/12/16(日) 20:26:49ID:QXy/zVCN

























0005login:Penguin2007/12/16(日) 22:42:28ID:GNrc/MYC
>>1
乙。
バージョン管理システムについて語るスレから誘導されてきました

>>2
すまん、犬がLinuxを指すんだろうなーというのは感じてたんだが、
犬糞とは?
0006login:Penguin2007/12/16(日) 22:50:22ID:QXy/zVCN























0007login:Penguin2007/12/17(月) 00:08:13ID:xELccl5q
L I N U  X
  ~~~~~~~~ ~~~
0008login:Penguin2007/12/17(月) 00:40:00ID:W6zCTNJq
>>7
そか、それで犬糞かー
しっかしイメージわるっ
0009login:Penguin2007/12/17(月) 07:56:26ID:L6um+ERc
そりゃ悪いイメージを表すための言葉だもの
0010login:Penguin2007/12/17(月) 08:06:29ID:0XEJOpmd




























0011login:Penguin2007/12/17(月) 21:48:16ID:/yrR25Cr
お前らstash使ってますか?
1.5.3から使えるようになったんだっけな、けっこう便利。
0012login:Penguin2007/12/17(月) 22:28:16ID:IgqbHlu/















0013login:Penguin2007/12/19(水) 03:32:13ID:dXqKwU0p
WHITESPACEのサンプルコード張るのはヤメロ
0014login:Penguin2007/12/21(金) 02:00:12ID:6o0qhWXw
> If there are uncommitted changes in your working tree, commit them first before running git pull.
なんでやねん
0015login:Penguin2007/12/21(金) 03:25:07ID:AYJ4T+a5
愚痴っぽいヤツだな
checkout -bして逃すか、stashしてpullするのがgitのやり方
それにコンフリクトしてなきゃpullできるだろ
0016login:Penguin2007/12/23(日) 14:53:44ID:fi/RmBMC
git-hogehoge
コマンド多すぎ!git hogehoegに統一しろよ。かなわんわ。
0017login:Penguin2007/12/23(日) 15:03:11ID:N2RrqJDE
git-add
git-am
git-branch
git-checkout
git-clone
git-commit
git-diff
git-format-patch
git-log
git-push
git-rebase
だけ分かればなんとかなる。きっとなる。
0018login:Penguin2007/12/23(日) 16:34:13ID:RyBdHHBH
つgit-init
0019login:Penguin2007/12/23(日) 16:43:09ID:K9KsPcXg
>>16
git-hogehoge は git hogehoge でもいけますが?
0020login:Penguin2007/12/23(日) 16:55:21ID:R7YWvlFy
ほれ
ttp://linux.yyz.us/git-howto.html
0021login:Penguin2007/12/23(日) 17:27:52ID:CF8f6C8u
$ git-
zsh: do you wish to see all 144 possibilities (49 lines)?
0022login:Penguin2007/12/23(日) 19:34:11ID:fi/RmBMC
>>19
いけるに決まってるだろアホか
そういうことがいいたいんじゃないんだよ
0023login:Penguin2007/12/24(月) 01:12:48ID:a5pJldP1
>>22
>git hogehoegに統一しろよ
って書いてるけど。じゃgit-hogehogeを無くせってか?
それともコマンド減らせって?
使わなきゃいいだけじゃん。
0024login:Penguin2007/12/24(月) 07:35:31ID:SQuGm0vv
「@




















0025login:Penguin2008/01/30(水) 02:00:10ID:bXVdZXGP
gitいいね
いきなりこんなの作れるLinusはやっぱすげえな
彼がバス事故とかにあったらそれでLinux終了なんだろうか
0026login:Penguin2008/02/01(金) 19:08:57ID:rSw2dtTK
>>25
作者が死んでもソースは志しあるものに引き継がれる。
彼並みのマネージスキルというとあれだけどな。
0027login:Penguin2008/02/07(木) 20:40:32ID:iRLnulYw
http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.4.txt
0028login:Penguin2008/02/09(土) 01:28:18ID:tqDiHypG
ム板からキマスタ
windows版落としてみたら、意外に普通にうごいてびっくりした
0029login:Penguin2008/02/10(日) 03:36:35ID:HUyz7WXT
git で、svn revert に相当するコマンドは何でしょうか。
git revert filename とすると、fatal: can't find hoge.c と言われます。
0030login:Penguin2008/02/10(日) 03:38:43ID:HUyz7WXT
>>29
書いたとたん、git reset というのを見つけてしまったorz
0031login:Penguin2008/02/10(日) 14:09:33ID:irmoOUSW
>>30
gitはreset、rebase、cherry-pickを使い始めると、かなり良い感じになってくると思うヨ
0032login:Penguin2008/02/11(月) 18:21:30ID:biU+/9KY
git revert で、checkin を簡単に取り消せると聞いて試したのですが、
なんか checkin を取り消すんじゃなくて、checkin したのと逆のパッチを適用するみたいなんですけど、
これってそういうもんでしょうか。
個人的希望としては、直前の checkin を取り消してもとの状態に戻したいだけなんですけど。
0033login:Penguin2008/02/11(月) 18:40:40ID:huZqSBbS
>>32
その場合はreset使うんだお

まずはチュートリアル見てみたらいいんじゃまいか
http://www8.atwiki.jp/git_jp/
0034login:Penguin2008/02/11(月) 19:04:33ID:biU+/9KY
>>33
あれ、git reset は commit していない checkin を取り消すものじゃないですっけ?
0035login:Penguin2008/02/11(月) 19:50:44ID:huZqSBbS
>>34
resetはどこにでもリセットできるよ。これがけっこうアツいんだ。
こうすれば今のブランチの1個前にリセットされる
git reset --hard HEAD^
リセットを取り消すのはたいてい出来ないので注意

まあゆっくりドキュメント詠みなって
http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#fixing-mistakes
0036login:Penguin2008/02/22(金) 23:38:57ID:qDG1xDNv
>>39
git checkoutだよ。
0037login:Penguin2008/02/23(土) 19:57:04ID:54b7Idwq
さて>>39に何て書けばいいんだ
0038362008/02/23(土) 20:03:15ID:bAJ3y1XW
>>29宛ての間違いだった…… orz
0039login:Penguin2008/02/25(月) 00:48:26ID:ew7Eacri
git で、svn revert に相当するコマンドは何でしょうか。
0040login:Penguin2008/02/25(月) 15:31:38ID:f8BCtTFE
checkout
0041login:Penguin2008/03/06(木) 21:02:14ID:oj0m+NVr
http://gihyo.jp/magazine/SD/archive/2008/200804
SD 4 月号は git 特集らしい。
0042login:Penguin2008/03/20(木) 18:23:26ID:NvgN5uBF
Git特集きたこれ
0043login:Penguin2008/04/04(金) 16:51:51ID:VtK1I9PC
HEADは何を表してるんですか?ブランチ名?コミット名?
チュートリアル読んでたら、なんの説明もなしに登場してくるので、教えてください。
0044login:Penguin2008/04/04(金) 18:27:28ID:JdXMDd2F
>>43
現在作業してるブランチに対する最新のコミットのIDのエイリアス
0045login:Penguin2008/04/04(金) 21:30:33ID:rtdSSa+F
>>44
最近HEADって大文字で書くのがちょい億劫になってきた
0046login:Penguin2008/04/05(土) 02:49:47ID:uV0eyb6h
HEADがコミットIDでいえば何番なのかを知るにはどうしたらいいですか
0047login:Penguin2008/04/05(土) 03:01:18ID:zGo20/US
>>46
git show-ref
とか
cat .git/refs/heads/master
とか
git show HEAD
とかか?
0048login:Penguin2008/04/06(日) 12:09:53ID:o13Td3py
>>47
さんくす


Gitのmapページで index という用語がでてくるんですが、これは何を意味していますか?
0049login:Penguin2008/04/06(日) 19:21:49ID:AhVxVw+d
>>48
mapページて何だか分からないが、indexはGit特有かもしれない
ワーキングコピーとリポジトリの中間に位置する場所で、
コミットする前にいったんここに保存する感じになる。
けっこう便利に使えます。
今月号のSD見てみたら? ムズ目かもしれないけどかなり秀逸な記事ですよ。
0050login:Penguin2008/04/07(月) 19:20:32ID:EqyCSPuz
>>49
mapページじゃなくてmanページでした。
説明ありがとうございます。
index は、RDBMSでいうところのredoログファイルみたいなもんですかね。
SDってのはSoftwareDesign誌のことでしょうか。ちょっと買ってみます。
それにしてもSoftwareDesignはタイミングよい記事を載せますね。前回のYAMLとJSONも良かった。
0051login:Penguin2008/04/16(水) 11:34:13ID:RilLZEQp
>>45
見て気になったんだけど、
head って 小文字で書いてるんだけど弊害あるの?
0052login:Penguin2008/04/16(水) 13:20:16ID:bD0WIhMf
gitを最近使い始めて、便利そうな気になっています。

ただ一点気になっていること:
subversion の自分のレポジトリから svn:externals 指定で他のモジュールの
最新版を取得する使い方が多いのですが、gitのレポジトリの場合も外部のsvnを
参照する方法があるのでしょうか?
0053login:Penguin2008/04/16(水) 17:12:38ID:LOLPT6Jl
>>51
マジheadでいけんの!? ってやってみたらいけなかたorz
GIT 1.5.5
0054login:Penguin2008/04/16(水) 21:38:44ID:s50cdEQt
>>52
それは、Gitから他のGitのリポジトリってこと?
それとも、Gitから他のSVNのリポジトリを参照したいってこと?
前者はできるし、後者は git-svn使えばできそう。
0055login:Penguin2008/04/17(木) 08:41:42ID:pfpWBVyH
リモートのリポジトリにいくつかブランチがあってgit pullする
時にmaster以外にそれらのブランチのデータも一緒にとってきたい
(でも普段checkoutするのはmaster)んだけど、それってどう設定
するのが正しいの?
0056login:Penguin2008/04/17(木) 09:03:47ID:pfpWBVyH
>>55 自己レスですが、refspecを間違っていただけでした。
ちゃんととってきてました。
よくわかりませんが
git log origin/BRANCH_FOO
と
git log BRANCH_FOO
で内容が違うようです。
0057522008/04/17(木) 09:04:29ID:IE4XG+iQ
>>54
Gitから他のSVNレポジトリを参照したいです。
git-svnですね。調べてみます。
0058login:Penguin2008/04/17(木) 09:09:28ID:ZMgRHVN7
>>53
普通はできないのですか…
バージョンは、cygwinのgit 1.5.4ですね。

使っているのは、
git reset --hard head
git show head
git diff head..head~5
くらいです。
検討違いのコマンドでしたら申し分けないです
0059login:Penguin2008/04/17(木) 10:36:55ID:/nSY839j
>>58
windows はファイル名の大文字小文字を区別しない。
HEAD って .git/HEAD

さてさて?
0060login:Penguin2008/04/17(木) 12:44:33ID:ZMgRHVN7
>>59
なるほど

HEADって.git/HEADを差していたのですね

windowsのファイル名大文字小文字無視が原因かなとは
疑っていましたが、なぜなのかがピンときてませんでした。
ありがとうございます。

今(windowsで)は良いけど、混乱の元になりどうなので
HEADって打つようにします。
0061login:Penguin2008/04/17(木) 14:45:07ID:QJd9vB8f
>>56
>git log origin/BRANCH_FOO
>と
>git log BRANCH_FOO
>で内容が違うようです。
そりゃorigin/BRANCH_FOOはリモートのブランチで(git commitは出来ない)
BRANCH_FOOはローカルのブランチ(git commitできる。たまたま同じ名前なだけ)
内容が違うこともあるよ。

>リモートのリポジトリにいくつかブランチがあってgit pullする
>時にmaster以外にそれらのブランチのデータも一緒にとってきたい
git fetch origin とかでいけると思う。
0062login:Penguin2008/04/18(金) 20:38:42ID:zn32tz08
>>52
svn:externalsはgit submoduleで似たようなことが出来るみたいだけど、
git-svnでsvn:externalsを透過的に使えるワケではないし、使い勝手はだいぶ違うようです。

>>60
逆に小文字でheadでいけるのが少し羨ましかったり。。。
0063login:Penguin2008/04/20(日) 17:34:50ID:T155+Ikm
>>62
どーしてもっつーなら、シンボリックリンクでも
ためしにはってみれば。.git/headとか?
0064login:Penguin2008/04/20(日) 21:19:59ID:cyoem7vw
>>63
それでいけた! (・∀・)
refs/headsをごにょごにょしなきゃダメかと思ってたんだけど、
この方法で名無しブランチでもheadでいけたよ。ありがとう!
0065login:Penguin2008/04/23(水) 13:18:56ID:c9i8hTSf
cygwin版 git で、emacs git.elが動くpatchって、まだ存在しない?
0066login:Penguin2008/04/23(水) 19:21:41ID:WOoYuez/
git checkout -f branch って打とうとして
git branch -f branch って打っちゃった

これ復旧させることってできますでしょうか;;
0067login:Penguin2008/04/23(水) 19:44:50ID:RWYW/w1F
reflog -> checkout -b branch hash
あたりじゃどう。
0068login:Penguin2008/04/23(水) 20:04:29ID:WOoYuez/
>>67
いけました。
ありがとうございました。

一ヶ月分の作業を失ってしまったかと かなり 涙目になってました
0069login:Penguin2008/04/23(水) 23:27:56ID:9XenftLj
http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.5.1.txt
0070login:Penguin2008/05/15(木) 00:35:10ID:CKsV7vhr
特定のブランチについてるタグだけをリストするにはどうすればいい?
0071login:Penguin2008/06/02(月) 01:28:01ID:K7GwLnsR
gitとsvnだとどちらが使いやすい?
それと svnのレポをgitからアクセスしてコミットやらチェックアウトやらって出金の?
0072login:Penguin2008/06/02(月) 08:55:36ID:+7cXOACL
どちらが使いやすいかは状況次第。初心者ならsvnかな。
git-svnでgitからsvnにコミットもチェックアウトもできるが
svn:externalsやsvn:ignoreなどは対応してない。
0073login:Penguin2008/06/03(火) 01:58:33ID:QWA+WrFc
gitに慣れてからsvnを使い始めたせいかgitの方が使いやすく感じる。
0074login:Penguin2008/06/09(月) 19:08:58ID:qzPjR4/M
初歩的な質問でですが
git-clone でクローン作って、そこで何回かコミットして
マスタへクローンの全履歴を反映させたくないんだけれど、
どうしたらいいの?
git-push したら全履歴が反映されてしまった。
0075login:Penguin2008/06/09(月) 20:21:25ID:k9rgwIu8
>>74
クローン元と同期しておきたいブランチを作っておいて、そこをpushすればいいんじゃないかな。
俺最先端ブランチの途中までpushしたいなら、checkout -b してそこをpushとか。
0076login:Penguin2008/06/10(火) 08:46:37ID:KgejrtZo
squashがあったような。
0077login:Penguin2008/06/13(金) 01:09:33ID:0qkio06U
git って、リポジトリにコミットした時の元ファイルのタイムスタンプって
保存されてるの? そのタイムスタンプでチェックアウト
できたりできる?
0078login:Penguin2008/06/13(金) 21:59:18ID:BTTXLp//
>>77
タイムスタンプを保存して何したいのかを言ったほうがいい。
0079login:Penguin2008/06/13(金) 23:34:10ID:0qkio06U
>>77 で書いた通り、インポートした時のタイムスタンプのままチェックアウト
したいんですが。
0080login:Penguin2008/06/14(土) 08:26:20ID:AfqaBG/Z
>>79
だからタイムスタンプが復元できて何がうれしいのかな?
どのように利用したいのか目的がわからずに適当に
答えても正しい答えなのかわからないよ。
0081login:Penguin2008/06/14(土) 11:15:56ID:qEnbIax8
ここでもタイムスタンプ厨か。お前バージョン管理システムでも湧いてなかったか?
自分の意見押しつけんのも大概にしろ。
■ このスレッドは過去ログ倉庫に格納されています