Git 10

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。

Git - Fast Version Control System
http://git-scm.com/

◆関連サイト
Pro Git - Table of Contents
http://git-scm.com/book/ja
Git入門
http://www8.atwiki.jp/git_jp/

◆前スレ
Git 9
http://peace.2ch.net/test/read.cgi/tech/1397276540/
2デフォルトの名無しさん:2014/06/22(日) 18:02:10.08 ID:b06vElF6
イチオツ
3デフォルトの名無しさん:2014/06/22(日) 18:33:54.01 ID:2+Nzucu/
Gitを使うと早漏になるの?だったら嫌だなあ、使うの控えるべきかしら?
4デフォルトの名無しさん:2014/06/22(日) 18:45:39.07 ID:Zf5ltYR1
アーイキソ
5デフォルトの名無しさん:2014/06/22(日) 18:55:46.49 ID:3ROl0TsY
 ∧_∧       SVN? ぎっとぎとにしてやんよ
 ( ・ω・)=つ≡つ
 (っ ≡つ=つ
 /   ) ババババ
 ( / ̄∪
6デフォルトの名無しさん:2014/06/22(日) 19:03:02.96 ID:kD+jIMJ8
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
7デフォルトの名無しさん:2014/06/23(月) 10:11:42.41 ID:sjU94AhZ
◆関連スレ
バージョン管理システムについて語るスレ10
http://peace.2ch.net/test/read.cgi/tech/1393147031/
CVS導入スレ〜 Rev.3
http://peace.2ch.net/test/read.cgi/tech/1113141518/
Subversion r14
http://peace.2ch.net/test/read.cgi/tech/1326806859/
【分散型バージョン管理】 Mercurial 2【hg】
http://peace.2ch.net/test/read.cgi/tech/1321109748/
【bzr】Bazaarでバージョン管理 Rev 4
http://peace.2ch.net/test/read.cgi/tech/1356521407/
OSSホスティング総合【SourceForge,GitHub,etc..】
http://peace.2ch.net/test/read.cgi/tech/1384821518/

◆関連スレ 別板
CVS 1.3 [UNIX板]
http://peace.2ch.net/test/read.cgi/unix/1093611448/
8デフォルトの名無しさん:2014/06/23(月) 10:12:16.78 ID:sjU94AhZ
◆関連書籍
Pro Git 日本語版電子書籍公開サイト
http://progit-ja.github.io/

開発効率をUPする Git逆引き入門 2014/04 著:松下雅和 船ヶ山慶 平木聡 土橋林太郎 三上丈晴
http://www.c-r.com/book/detail/970

Git ポケットリファレンス 2012/07 著:岡本隆史 武田健太郎 相良幸範 
http://gihyo.jp/book/2012/978-4-7741-5184-7

Gitによるバージョン管理 2011/10 著:岩松信洋 上川純一 まえだこうへい 小川伸一郎
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06864-5

実用Git 2010/02 著:Jon Loeliger オライリー本
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-87311-440-8

入門Git 2009/9 著:濱野純
http://www.shuwasystem.co.jp/products/7980html/2380.html

入門git 2009/08 著:Travis Swicegood 監訳:でびあんぐる
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06767-9
9デフォルトの名無しさん:2014/06/24(火) 10:55:31.19 ID:BxyDqmCe
スレ立てて書き込み少な目で放置しとくと落ちるのは自動なのか?このスレは大丈夫なのかね?
10デフォルトの名無しさん:2014/06/24(火) 12:46:36.12 ID:/C23Uhbr
入門Git以外は手に取ってみる価値もない
でFA?
11デフォルトの名無しさん:2014/06/24(火) 14:19:17.66 ID:oDNeDxJ6
GoogleAppsScriptで書いたソースをgitでリポジトリ管理するにはどうすればいい?
12デフォルトの名無しさん:2014/06/24(火) 16:36:15.78 ID:Q+GgUeFG
>>11
import/exportができるみたいだからそれ使えばいいんじゃないの?
http://qiita.com/soundTricker/items/e75ee1f2a7d89fa60a60

単に特殊なデプロイが必要になるってだけ。
13デフォルトの名無しさん:2014/06/25(水) 10:27:08.76 ID:51nve3hM
import/export を自動化するスクリプトを GoogleAppsScript で書けないかな
14デフォルトの名無しさん:2014/06/26(木) 08:42:26.78 ID:rb3EhG0/
>>10
どっちの?
15デフォルトの名無しさん:2014/06/26(木) 10:06:12.43 ID:BCJ2ygce
念のためにこっちにも
Git 2.0.1 リリース
https://github.com/git/git/releases/tag/v2.0.1
16デフォルトの名無しさん:2014/06/26(木) 11:59:36.41 ID:lzGhXXy2
>>14 君には入門Gitが入門gitに見えるのかね
17デフォルトの名無しさん:2014/06/26(木) 15:13:00.47 ID:I1GlggqH
スレ番も数字じゃなくハッシュ値で
18デフォルトの名無しさん:2014/06/26(木) 20:19:34.54 ID:uNXRCBxV
さ あ 、 も り あ が っ
                  て
                     ま
                       い
                         り
                          ま
                           し
                           た
19デフォルトの名無しさん:2014/06/27(金) 12:01:47.48 ID:wewJM3ti
兆戦の皿が白ばっかりなのは
土器みたいに茶色いままだと
うんこが付いてても気付かないから
20デフォルトの名無しさん:2014/06/27(金) 22:32:20.88 ID:VuPlBIMA
日本の器に黒っぽいのが有るのはうんこが付いてても気にせず食べるから?
21デフォルトの名無しさん:2014/06/28(土) 01:35:08.69 ID:sQNJ1q5c
皿にうんこが付く状況ってどんなんだよ
22デフォルトの名無しさん:2014/06/28(土) 04:37:58.98 ID:w+QI/fAg
器にうんこが付くという発想がないから
23デフォルトの名無しさん:2014/06/28(土) 04:57:32.01 ID:sKWOMnpi
トンスルランドでは台所に便所紙捨てるところがあるんだっけ
24デフォルトの名無しさん:2014/06/28(土) 06:10:14.26 ID:WBXNiQjo
日本に観光に来てる連中は
ホテルのトイレでも紙をゴミ箱に入れるので
従業員を困らせている
25デフォルトの名無しさん:2014/06/28(土) 06:50:34.22 ID:6GT+Y+O2
日本も戦前は同じだったそうだよ
26デフォルトの名無しさん:2014/06/28(土) 07:49:42.50 ID:88+ODrtr
ここまで Git の話なし
27デフォルトの名無しさん:2014/06/28(土) 10:47:37.20 ID:pkB82Erl
今日のうんこスレはここですか
28デフォルトの名無しさん:2014/06/28(土) 23:12:42.12 ID:c56+A2pI
一、清潔な食事運搬用バケツと雑巾バケツの区別をよく教えること。

こんな注意書きが必要な連中なので
29デフォルトの名無しさん:2014/06/29(日) 00:18:04.03 ID:/NI7q9pJ
敗戦直前の日本の雑誌に、汚れたバケツに貯まった雨水を飲み水に使うことの美徳が書かれていたって話を思い出すな

それはともかく、Gitのブランチ管理はややこしいよなー
未だに解説読みながらやってる
30デフォルトの名無しさん:2014/06/29(日) 00:54:31.86 ID:f0WIPed4
gitのブランチ管理じゃなく
git flowもしくはgithub flowのブランチ管理がややこしいのでは
31デフォルトの名無しさん:2014/06/30(月) 22:40:23.98 ID:5h8Y0Ud2
$ git clone https://github.com/username/repo.git ← 自分のリポジトリ(SSHキーは登録済み)

色々作業してローカルでコミットした

$ git push
fatal: could not read Username for 'https://github.com': No such file or directory

なんでなん…
その後こうしたらpush出来た

$ git remote rm origin
$ git remote add origin '[email protected]:username/repo.git'

originを変更しないと駄目な理由を分かりやすく教えてください
32デフォルトの名無しさん:2014/06/30(月) 22:46:39.87 ID:v5UqmfMQ
>>31

http://git-scm.com/book/ja/Git-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB

> HTTP 越しの Git のプッシュを行うことも可能ですが、あまり使われていません。
> また、これには複雑な WebDAV の設定が必要です。めったに使われることがないので、本書では取り扱いません。
> HTTP でのプッシュに興味があるかたのために、それ用のリポジトリを準備する方法が
> http://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt で公開されています。
3331:2014/06/30(月) 23:03:26.98 ID:5h8Y0Ud2
>>32
おお!素早いご指摘どうもです
よく理解できました
これからはそのドキュメントを良く読むようにします
34デフォルトの名無しさん:2014/06/30(月) 23:10:54.18 ID:v5UqmfMQ
っていうかGitHubってhttpsでのpushに対応してたっけ?
35デフォルトの名無しさん:2014/06/30(月) 23:24:02.07 ID:ocNeWDMt
httpsのアドレス宛にいつもpushしてるが
36デフォルトの名無しさん:2014/07/01(火) 02:04:03.39 ID:uudBEfHR
>>31
単にpushする先を指定してないだけだろ。

URL指定でcloneしているから、
originと紐付いてないだろうし。
37デフォルトの名無しさん:2014/07/01(火) 20:07:37.99 ID:dBLK7YMD
ローカルリポジトリのブランチhogeにコミットしました

ここでリモートリポジトリのhogeにコミットするはずが、リモートのmasterにコミットしてしまいました。

取り消すにはどうすればいいのでしょうか?
38デフォルトの名無しさん:2014/07/01(火) 20:22:39.16 ID:M2q2ii4G
パルプンテを唱える。
39デフォルトの名無しさん:2014/07/01(火) 20:23:17.83 ID:M2q2ii4G
もしくはメガンテ
4037:2014/07/01(火) 20:24:46.81 ID:dBLK7YMD
git remote -v
origin https://hoge.com/fuga.git (fetch)
origin https://hoge.com/piyo.git (push)

git add . --all
git commit -m "hoge"

git push origin master

to https://hoge.com/fuga.git
master -> master

git branch -a したら

remotes/origin/HEAD -> origin/master

と出てきたんですが、これはhttps://hoge.com/fuga.gitのmasterにコミットされたということですよね
41デフォルトの名無しさん:2014/07/01(火) 20:25:26.30 ID:rJGfEq1K
用語が変なのはgit使いでなくsvn使いとかか
42デフォルトの名無しさん:2014/07/01(火) 20:28:16.54 ID:sZ99gDnh
>>37
リモートリポジトリの管理者にごめんなさいして、どう処理するか相談する
4337:2014/07/01(火) 20:39:43.94 ID:dBLK7YMD
リモートリポジトリをcloneしてmasterブランチのlog見たらコミット履歴にありませんでしたが・・・
どこにコミットされたのでしょうか・・・

>>41
その通りです
44デフォルトの名無しさん:2014/07/01(火) 20:44:17.29 ID:rJGfEq1K
用語がめちゃくちゃで何を言ってるのか何をやりたいのかさっぱり分からん
45デフォルトの名無しさん:2014/07/01(火) 20:54:30.74 ID:sZ99gDnh
>>40
その一番最初の git remote -vの結果が正しければ、
そのリポジトリで普通にpushすると https://hoge.com/piyo.git に反映されるはず

それなのに https://hoge.com/fuga.git にpushされたというログになってるのはオカシイ
>git push origin master
>to https://hoge.com/fuga.git
>master -> master
写し間違えた?

>>43でcloneして確認したリポジトリは https://hoge.com/piyo.githttps://hoge.com/fuga.git のどっち?
4637:2014/07/01(火) 22:06:47.31 ID:dBLK7YMD
質問が不明瞭、かつ書き間違いなどがあり申し訳ありませんでした。
もう一度できるだけ詳しく正確に書くように致します。
47デフォルトの名無しさん:2014/07/01(火) 22:21:48.75 ID:dBLK7YMD
git remote -v
  origin https://hoge.com/fuga.git (fetch)
  origin https://hoge.com/fuga.git (push)
  upstream https://foo.com/fuga.git (fetch)
  upstream https://foo.com/fuga.git (push)
※「https://hoge.com/fuga.git」は「https://foo.com/fuga.git」をcloneしたもの

      ↓

git branch -a
  branchA
 * branchB
  master
  remotes/origin/HEAD -> origin/master

      ↓

cd c:\users\nullpo\desktop\repo\test\
git add x.cpp
git commit -m "save!"
  1 file changed, 2 insertions(+), 2 deletions(-)

      ↓

git push origin master
To https://hoge.com/fuga.git
    dvcx245..9frr0bf master -> master
※ここで「git push origin branchB」とするはずが間違えて「master」にコミットしてしまいました。


ログから判別すると、現状は、https://hoge.com/fuga.gitのmasterブランチにコミットしてしまってると見るべきですよね
ところがhttps://hoge.com/fuga.gitのmasterをcloneしてログを確認してもさっきのコミットが残っておらず、実際変更したはずのファイル(x.cpp)を見ても変わってないんです…。
48デフォルトの名無しさん:2014/07/01(火) 23:38:48.46 ID:sZ99gDnh
49デフォルトの名無しさん:2014/07/02(水) 00:34:49.55 ID:KQlLn9XQ
>>48
ありがとうございました。
しかし、幾ら試してもhttps://hoge.com/fuga.gitのmasterのコミットログにないんです・・・。

恐らくこのまま放置することにします。
長々と書き込んでしまいすいませんでした。
50デフォルトの名無しさん:2014/07/02(水) 01:06:49.78 ID:OroZGiqB
>>49
いやだから、書き込みを良く見てくれ
「ローカルのbranchBじゃなくて、ローカルのmasterを、リモートのmasterへpusuしてる」
したがって、ローカルのbranchBにコミットしたx.cppファイルがhttps://hoge.com/fuga.gitのmasterに無いのは当然

それて、pushが成功したかどうかはファイルの有無じゃなくてハッシュで確認しろ
git branch -av で各ブランチと対応するハッシュを確認できる
51デフォルトの名無しさん:2014/07/02(水) 01:17:52.28 ID:En/r/TGL
pusu
52デフォルトの名無しさん:2014/07/02(水) 01:26:05.54 ID:OroZGiqB
>>50-51
おう、pusuはpushのタイポな
53デフォルトの名無しさん:2014/07/02(水) 01:29:18.74 ID:En/r/TGL
example.なんとか使えつって教わらなかったのか
54デフォルトの名無しさん:2014/07/02(水) 22:13:56.81 ID:mhKrJc1t
VisualStudioのExpressでバージョン管理したいからGit入れたいんだけど
GUIで楽にローカルリポジトリ作る方法ってある?
55デフォルトの名無しさん:2014/07/02(水) 23:02:29.91 ID:87h9OT3W
はい、tortoisegitさんお呼びですよ
56デフォルトの名無しさん:2014/07/02(水) 23:06:30.92 ID:mhKrJc1t
亀ってリポジトリ作れるの?
57デフォルトの名無しさん:2014/07/02(水) 23:40:22.67 ID:j/Db3LoH
もちろん
58デフォルトの名無しさん:2014/07/02(水) 23:50:54.99 ID:mhKrJc1t
単独で作れるのか
ありがとう
59デフォルトの名無しさん:2014/07/02(水) 23:55:08.90 ID:87h9OT3W
Visual Studioに組み込めるプラグインもあるかも知れんけど
わかんね。msdnでも覗いてみれ。
60デフォルトの名無しさん:2014/07/03(木) 03:35:02.68 ID:LFvCfQY8
VSに組み込めるプラグインがあるとしても、Expressは拡張機能サポートしてないからどのみちダメじゃないか?
61デフォルトの名無しさん:2014/07/03(木) 03:39:50.30 ID:j0zMe+Fe
VS2013ならMSが公式でGitのプラグインを出してなかったか
62デフォルトの名無しさん:2014/07/03(木) 05:54:32.69 ID:DIfIjFzr
Azure専用
63デフォルトの名無しさん:2014/07/03(木) 06:02:01.97 ID:fWjka1bK
Windowsが7以降ならSourceTreeもあるな
64デフォルトの名無しさん:2014/07/03(木) 09:57:25.05 ID:T6nbxnRY
2013はExpressでもIDEからgit使えるけど、どうもわかりにくい
ankhsvnくらいに手軽だといいのだが、、、よって亀とコマンドライン併用
Xcodeの内蔵はかなり使いやすいと思った。
65デフォルトの名無しさん:2014/07/03(木) 19:41:43.68 ID:dti37cU6
msysgitダウンロード出来ねぇ…
500ってなんだ…
66デフォルトの名無しさん:2014/07/03(木) 21:06:15.26 ID:tTUYGcci
サーバの内部エラー
67デフォルトの名無しさん:2014/07/03(木) 21:06:41.59 ID:tTUYGcci
68デフォルトの名無しさん:2014/07/03(木) 21:16:47.31 ID:dti37cU6
ありがと!いけた
69デフォルトの名無しさん:2014/07/03(木) 21:22:28.52 ID:dti37cU6
gitは正常に終了しませんでした (終了コード 128)

とか言われた…
なんだこれ…
70デフォルトの名無しさん:2014/07/03(木) 21:29:51.18 ID:ljTzUKRX
あ〜、俺もそれなった。64bit Windows7
余計な物が入るのがいやなんだろうけど
msysgit諦めて
http://git-scm.com/
から丸々落としたら問題なくインストールできた
71デフォルトの名無しさん:2014/07/03(木) 21:31:59.03 ID:VhhMtL7W
…え?
git-scmからmsysgitじゃないWindows用gitが入手できたの?
72デフォルトの名無しさん:2014/07/03(木) 21:39:27.88 ID:dti37cU6
>>70
おk入れてみる

…の前にアンインスコしとこっと
73デフォルトの名無しさん:2014/07/04(金) 01:20:38.78 ID:ZQHJOpH+
msysgitのアンインスコがそもそも出来なくねえか?
ネットにはコントロールパネルからアンインスコしろと書いてあったが
インスコの途中でエラッたからかどうか分からんが、そんなものはなかった

とりあえず、面倒くさいのでインスコされたフォルダごと削除してやったけど
とりあえず、今のところ、その後、上記をインスコして問題ない

ところで、
インストールの時に聞かれる設定で
Checkout as-is, commit as-is
について、改行コードの勝手な変換は百害あって一利なしって言い切ってるサイトもあれば
なんか、それだとソフトウェア的に不具合が出る場合があるんで他の設定にした方がいいってサイトもあるんだが
実際にはどうなの?

個人的には、改行コードを勝手に変換されるなんて害以外の何物でもないと思うので
問題ないなら、何も変換させたくないのだが
74デフォルトの名無しさん:2014/07/04(金) 08:40:05.93 ID:xvFt74Dw
>>73
いろいろな環境でやるならlfだけにしておいて、各環境でチェックアウト時にcr,crlf,lfで使うのが楽じゃない?
ソースじゃなくてなんか特殊なファイルとか管理するならきめうちのほうがいいかもだし、
自分ひとり開発とかチームで環境が変わる要素がないならそのままでもよい
75デフォルトの名無しさん:2014/07/04(金) 20:58:59.90 ID:G9V8ZPtC
企業でgit使う場合ってリポジトリは暗号化して使うものですか?そのへん詳しい人教えてください
76デフォルトの名無しさん:2014/07/04(金) 21:41:37.64 ID:KGk1oj/Q
>>75
基本的に、暗号化してからadd,commitするよ
77デフォルトの名無しさん:2014/07/04(金) 22:46:19.47 ID:VHgyx1X4
>>75
詳しくはないけど。
鍵やデータはバージョン管理しないんじゃない。暗号化するようなファイルシステムなら、されちゃうかもだけど。
78デフォルトの名無しさん:2014/07/04(金) 23:32:09.16 ID:7y8V145d
ん?Git-scmってのはmsysgitの代わりに使うって認識で良いの?
79デフォルトの名無しさん:2014/07/05(土) 00:32:02.32 ID:7oOEkOAN
msysGitというプロジェクトでWindows用のGitが開発されていて
その成果は(Linux版やMac版も含めた)Gitの総合サイトであるgit-scmでも
やはりWindows用Gitとして配布されている…?

>>70 はつまり落とすサイトの話をしていて
開発版でなく安定版落としました、みたいな話なのかな

…俺もWindows版はよく知らんので、誰かツッコミ頼む
80デフォルトの名無しさん:2014/07/05(土) 01:34:47.12 ID:oA33QTWa
git-scm.comのDownload for Windowsで落ちてくるのは
https://github.com/msysgit/msysgit/releases/ のGit-1.9.4-preview20140611.exeじゃない?

>>70がうまく行かなかったのは同じ場所
https://github.com/msysgit/msysgit/releases/ のmsysGit-netinstall-1.9.4-preview20140611.exe
の方じゃないかな?

前者はバイナリだけの配布で、
後者はネットワーク経由インストールでコンパイル環境なんかも含めたすべてを落とせる?
81デフォルトの名無しさん:2014/07/05(土) 05:17:04.89 ID:SaA3Dhwi
そこで、cygwin で git ですよ。
オレオレビルドで、新しいリリースがすぐ使える
82デフォルトの名無しさん:2014/07/05(土) 14:14:39.37 ID:oc6wEiev
http://tracpath.com/bootcamp/learning_tortoisegit.html
これ見ながらやろうと思っても、Git Bash起動するとすぐ画面閉じるんだけど
Git bashってどうやって使うの
83デフォルトの名無しさん:2014/07/05(土) 14:29:48.66 ID:oA33QTWa
>>82
msysgit のインストールに失敗してるんだろ
84デフォルトの名無しさん:2014/07/05(土) 14:45:31.43 ID:oc6wEiev
あれ?もしかしてmsysgitインストールしたらmsysgitってフォルダ作られる?
C:\Program Files (x86)\Git
とは別に?
85デフォルトの名無しさん:2014/07/05(土) 14:57:24.31 ID:Q/k3+41v
win7にmsysgitをインストールしたら↓のディレクトリにインスト―ルされたけど、Git Bashもこの中だし

C:\Users\Hiroshi\AppData\Local\Programs\Git
86デフォルトの名無しさん:2014/07/05(土) 15:03:51.27 ID:oc6wEiev
そうか…やっぱ失敗してんのかな
500から403に変わってGoogle Codeからは相変わらずダウソ出来ないし
もう少し探してみるか…
ありがとなヒロシ
87デフォルトの名無しさん:2014/07/05(土) 15:16:53.89 ID:oA33QTWa
>>86
しばらく前から動かないって言ってるひとか?
インストールに失敗してるんじゃなくて、アンインストールに失敗してるんじゃないか?
ゴミが残ってて新しくインストールしたmsysgitがうまく動かないみたいな感じ
88デフォルトの名無しさん:2014/07/05(土) 15:51:10.99 ID:oc6wEiev
うーん
つってもとりあえず『アンインストールとまたは変更』から削除したんだけど
それじゃ足りないのかな?
ゴミがどこに残り得るのかすらわからんのだけど
89デフォルトの名無しさん:2014/07/05(土) 15:59:32.61 ID:oA33QTWa
そういうのは地味に調べるか、できなきゃOS再インスコかね
自分もWindowsはよくわからんから、Winでこの手のツールをインストールしまくるのは嫌だね
なので、構成を自分でだいたい把握できてるcygwin版を使ってる
90デフォルトの名無しさん:2014/07/05(土) 20:52:23.99 ID:oc6wEiev
なんなのこれ…
Stack trace:
Frame Function Args
688100 [main] sh.exe" 8060 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
724705 [main] sh.exe" 8060 handle_exceptions: Error while dumping state (probably corrupted stack)
91デフォルトの名無しさん:2014/07/05(土) 21:02:46.99 ID:Q/k3+41v
お前のwindowsが単にぶっこわれてるだけなんじゃね
92デフォルトの名無しさん:2014/07/05(土) 21:03:11.07 ID:oA33QTWa
>>90
それは STATUS_ACCESS_VIOLATION でググルと対策らしいのが出てくるぞ
TEMPフォルダ絡みらしい
93デフォルトの名無しさん:2014/07/05(土) 21:08:28.81 ID:oA33QTWa
中途半端にGitのコードにユニコード対応とか入れた影響なんだろうなあ
日本語Win環境なんかじゃ試して無いだろうし
オリジナルのGitがほぼそのまま動くCygwinがやっぱええわ
94デフォルトの名無しさん:2014/07/05(土) 21:20:01.50 ID:oc6wEiev
>>92
おぉ、ほんとだありがとう
キャッシュ自体1.5Gもあったしちょうどよかった…
95デフォルトの名無しさん:2014/07/05(土) 21:35:39.83 ID:DUJJhZn/
>>93
なんかユニコードがらみで問題でもあったの?
96デフォルトの名無しさん:2014/07/05(土) 21:58:23.52 ID:oA33QTWa
>>95
TEMPフォルダにゴミがあると>>90みたいに落ちるらしい
特に日本語ファイル名のファイルとかあるとダメ
Unicode対応前のバージョンなら問題無いとか
97デフォルトの名無しさん:2014/07/06(日) 01:52:41.07 ID:2At6bBxp
やっと使えるようになったよ
ありがとう

コミットの概念が、SVNとちょっと違うのかなぁ
また混乱したら聞きにくるよ
繰り返しになるけどありがとね
98デフォルトの名無しさん:2014/07/06(日) 02:22:08.53 ID:hcqFkKqd
なんで頑なにPro Gitとかを読もうってしないんだ連中は
99デフォルトの名無しさん:2014/07/06(日) 12:57:28.08 ID:IqnhNmsn
ここの先輩って一つのフォルダにどのくらいプロジェクトを詰め込んでるのか教えてください
100デフォルトの名無しさん:2014/07/06(日) 15:24:57.69 ID:f2dQpJou
自分も興味ある>どのくらい詰め込んでるのか

今はSubversionで10くらいのシステムを1システム1リポジトリで管理。
1システム(1リポジトリ)の中で document/client/server/moduleA/moduleB/... と複数ディレクトリを作って管理してる
Gitの場合、systemA-server/systemA-client という単位でリポジトリ作った方がいい?
101デフォルトの名無しさん:2014/07/06(日) 16:16:31.85 ID:aXyTuyHi
>>100
ケースバイケースとしか言いようがないけど、Subversionに比べてGitではリポジトリを分けることが多くなった。
っていうか、「フォルダ」と「プロジェクト」って、「リポジトリ」とどういう関係があるのか説明してくれないと上手いこと答えられないかも。

systemA-serverとsystemA-clientが割と個別に開発できるなら(つまり、サーバーは新しいけどクライアントは古いみたいなのがOKかどうか)
リポジトリは分けるし、サーバーとクライアントで同調して開発しなくちゃいけないならリポジトリは分けないほうがいいように感じる。
言語が別で共有コードがほとんどないような場合も分けることがあるかもしれない。

Subversionと違って、独立したものをなんでもかんでもリポジトリに突っ込むと別々に開発したときにマージが発生しまくってめんどくさいし、
Subversionでいうところのupdateをかけるフォルダの単位でリポジトリを分けたほうが面倒がないよ。Gitはリポジトリの一部だけを最新にするってことができないから。
102デフォルトの名無しさん:2014/07/06(日) 18:40:54.69 ID:8H24GUT0
systemA-serverとsystemA-clientにリポジトリを分けた時なんだけど、
両方で使えるライブラリがあったとする。

そういう場合は、汎用的なライブラリとして別リポジトリを作り
submoduleで登録すればいいんだよね。

この汎用ライブラリにバージョン1.0というのがあったとして、
systemA-serverからバージョン1.0のライブラリをsubmoduleで登録する
systemA-clientからも、通常は同じバージョンを使うだろうけど、
一時的に1.1を使う。なんてこともできる。

つまりsystemA-server、systemA-clientからは両方同じ外部リポジトリを
参照していながら、都合のいいバージョンを使うことが出来るんだよ。

まったくgitはよく考えて作られてるよ。
103デフォルトの名無しさん:2014/07/06(日) 18:45:43.21 ID:8H24GUT0
それからorphanブランチっていうのも忘れちゃいけないね。

systemA-serverとsystemA-clientで別のリポジトリに分ける。
これもありだけど、別の案として
同じリポジトリ内に、独立したブランチを複数作ることが出来る。

リポジトリは最初のコミットから、ずっと歴史を成長させていくものだと思っているかもしれないが、
実は、一つのリポジトリに、「最初のコミット」を複数作れる。

一リポジトリ=一歴史 じゃないんだよね。

systemA-serverとsystemA-clientに別のリポジトリに分けなくても、
別のリポジトリにわかれているかのように使うことだって出来る。
104デフォルトの名無しさん:2014/07/06(日) 18:50:04.07 ID:J6LM3Iar
MavenとかRubyGemみたいな仕組みが利用できる言語なら、
ライブラリをsubmoduleで取り込む必要は無いね
まあでもそういうのが常に使えるわけじゃないからsubmoduleの仕組みを作ったんだと思うけど
105デフォルトの名無しさん:2014/07/06(日) 23:12:18.37 ID:5OIsyZ4O
コードを修正するたびにコミットログにupdateって書いてすぐにpushするんですけど
pushってどのタイミングでやってますか?
106デフォルトの名無しさん:2014/07/06(日) 23:23:33.10 ID:HJxqGFZE
>>105
テスト合格したらプッシュ
107100:2014/07/06(日) 23:58:38.68 ID:Jh/5AOzt
>>101-104
ありがとうございます。
知らないこと・未経験なことばかりで勉強になりますm(_ _)m
108デフォルトの名無しさん:2014/07/07(月) 06:17:17.82 ID:JBDMezlo
updateなんて意味のないメッセージのコミットは、pushする前に分かりやすくメッセージを書き換えたりsquashしたりした方がいいよ
109デフォルトの名無しさん:2014/07/07(月) 08:35:06.30 ID:dSawaSg/
commit はこまめに
完全に動かない時は動かない理由も書いて commit
push は動作確認出来たものを push
どうしても動作テスト通っていないものを push したいときは branch で
110デフォルトの名無しさん:2014/07/07(月) 08:36:37.14 ID:iqLntt6B
何回か前の commit のメッセージにスペルミスがあったのに気付きました
恥ずかしいので治しておきたいのですが過去の commit のコメントを治せますか?
111デフォルトの名無しさん:2014/07/07(月) 09:33:06.41 ID:sxx7xYnm
俺もそれ知りたいです
そういうときはいつもgit initからやり直してたので
112デフォルトの名無しさん:2014/07/07(月) 09:49:15.90 ID:TkAvh2GT
git rebase rewordでググれ
113デフォルトの名無しさん:2014/07/07(月) 11:22:17.68 ID:qZJT4lFx
git rebase -i commit~1
って感じ
114デフォルトの名無しさん:2014/07/07(月) 16:51:47.32 ID:KZfau/wE
スペルミスにより別の存在する単語になって文全体の意味が違うくなるってなら直す必要もあるかもだが
そうでなく本来のスペルを予測可能な範囲なら大抵はいちいち直さんやろ
115デフォルトの名無しさん:2014/07/07(月) 21:00:46.13 ID:rOGGoQLa
subversionもそうだけど、なんでコメントって
気軽に直せないんだろう?

git rebaseでもコメント修正したら
コミットID変わっちゃうし。
116デフォルトの名無しさん:2014/07/07(月) 21:09:20.24 ID:eRMueaNX
バージョン管理に関しては気軽に修正できるっていうのは必ずしも良いことではない
Gitは気軽に修正できる代わりにハッシュが必ず変わって修正が明白になるようにした
117デフォルトの名無しさん:2014/07/07(月) 22:03:17.69 ID:rOGGoQLa
いや、今の話はソースコードじゃなくて
コミットログの話だから。
さすがにソースコードを気軽に編集できればなんて話はしてない。

気軽に編集できる git notes をなぜ作ったのか?
コミットログを修正できればよかったのではないかって話。
118デフォルトの名無しさん:2014/07/07(月) 22:16:10.15 ID:eRMueaNX
コメントの修正も基本的には問題あるよ?
同じバージョンやハッシュでコメントの違うコミットがOKなVCSがあるとして
それらのコミットを先祖に持つ二つのブランチをマージするときどっちのコメントが引き継がれるべきだと思う?

notesはこういうときどんな扱いしてるんだろ
119デフォルトの名無しさん:2014/07/07(月) 22:39:39.79 ID:GtUCyZaI
タイポを修正したコミットのメッセージがタイポしてたら死んでも直したくなるだろ
120デフォルトの名無しさん:2014/07/07(月) 22:53:15.16 ID:4tIz5IJL
subversionは、コミットログを編集できるよ
121デフォルトの名無しさん:2014/07/07(月) 23:00:28.64 ID:eRMueaNX
それはまあ、非分散型だから問題にならないのかな?
分散型の場合にはコメントの編集がコミットを特定するIDとかに反映されないようだと困る
122デフォルトの名無しさん:2014/07/07(月) 23:03:08.44 ID:rnTCx4k1
コミットの私物化
123デフォルトの名無しさん:2014/07/07(月) 23:23:04.44 ID:YLk007Ty
>>115
> subversionもそうだけど、なんでコメントって気軽に直せないんだろう?

Subversion はフックを設定すれば修正できるようになるよ。
svn ログ 編集 辺りでググればやり方書いてある。

git は難しいと思うよ。
A さんと B さんで違う内容に編集したらどうするかとかから決めないとダメだろうし。
124デフォルトの名無しさん:2014/07/07(月) 23:40:30.30 ID:aVaaFMZ2
gitはコマンドや引数が複雑化しすぎている
今後登場するバージョン管理システムでこれを克服しなければならない
例えばlogとreflogならgit logとgit log -ref
125デフォルトの名無しさん:2014/07/07(月) 23:41:56.88 ID:aVaaFMZ2
統一できるコマンドは統一するのが大事
reflogはlogに吸収させてしまえばいい
そしてコマンドに対する引数もなるべく少なくすること
126デフォルトの名無しさん:2014/07/07(月) 23:42:42.69 ID:aVaaFMZ2
gitはphpみたいに汚い
127デフォルトの名無しさん:2014/07/07(月) 23:58:44.89 ID:KZfau/wE
BazaarやMercurialとかの他の分散型はgitほと汚くないの?
128デフォルトの名無しさん:2014/07/08(火) 00:04:03.61 ID:TkAvh2GT
reword >>126
squash >>125
squash >>124

# The first commit's message is:
汚いレスを圧縮
129デフォルトの名無しさん:2014/07/08(火) 00:18:25.88 ID:u9V+tSfl
よくも悪くも Linux なんだなぁと思う。
個人的には FreeBSD + Subversion の方が肌に合う。
130デフォルトの名無しさん:2014/07/08(火) 01:36:57.96 ID:hxSm+BQN
コミットログなんて、探すときのヒントなだけで、結局はChangeLogやdiffで確認するだろ。あとはtagとか。
131デフォルトの名無しさん:2014/07/08(火) 01:52:11.38 ID:iPzcgb4Q
リポジトリに対するログと、
作業スペースの履歴のログで意味が違うだろ
132デフォルトの名無しさん:2014/07/08(火) 02:06:34.79 ID:aM3L01D8
まさに意味が違うという話をしてたんじゃないの?
133デフォルトの名無しさん:2014/07/09(水) 10:21:12.64 ID:7mAKqlSH
>>114
fileId を fieId と書いてしまって
field って言う別の存在する単語と見間違えます
どうしたら治せますか?

>>121
コミットのコメントのログをバージョン管理に入れてしまえば良い
134デフォルトの名無しさん:2014/07/11(金) 00:22:31.17 ID:sjma/frv
git push -uの-uってなんですか?
毎回-u付けないといけないんですか?
135デフォルトの名無しさん:2014/07/11(金) 00:41:29.05 ID:YU+Bm/Jy
>>134
ヘルプくらい嫁
http://git-scm.com/docs/git-push
136デフォルトの名無しさん:2014/07/11(金) 06:25:33.53 ID:jWWrmOK/
必要なときは付けろとgitに言われる
137デフォルトの名無しさん:2014/07/16(水) 01:04:59.81 ID:1BA7HWeq
PJはSVN使ってるんだけど、諸事情あって今俺が書いてるソースはリリース直前までコミットできない
さすがに不安なんで、git-svnでローカルにだけでもgitとしてコミットしようとしてるんだけど、
git-svnって、TortoiseGitでもできるん?
git自体触ったこともないので、GUIなくてコマンド覚えるのに時間かかるようだったら諦める
138デフォルトの名無しさん:2014/07/16(水) 09:01:10.65 ID:7fshRLGV
>>137
TortoiseGitでも出来るが、gitを使ったことがないとちょっと解りにくいかも。
139デフォルトの名無しさん:2014/07/16(水) 09:51:25.74 ID:YAHvhD3g
最初TortoiseGitだとできるように見えなかったのが、コマンドでgit-svn使い始めたら
あちこちちゃんと対応してることにきがついたw
140デフォルトの名無しさん:2014/07/16(水) 11:03:35.86 ID:nVCK3WYF
initial commitってどのタイミングでコミットしたらいいのか教えてください
作るものは掲示板でお考えください
まずファイル構成を決めて空のファイルを作ってコミットするのか
何もファイルが存在しない状態でコミットするのか
ある程度動くものができたらコミットするのか
本当にわかりません
141デフォルトの名無しさん:2014/07/16(水) 11:48:22.12 ID:qYDy3YV9
特にセオリーは決まってなかったと思う
わからないなら空commitでおkかと
142デフォルトの名無しさん:2014/07/16(水) 13:12:44.48 ID:dtGU31iT
initial なら 空っぽの RADME.md だけ作って commit てる
とりあえず何か commmit しとかないと diff がエラーになる
143デフォルトの名無しさん:2014/07/16(水) 13:30:32.92 ID:Sd4M1rY0
リリースバージョンで1.0と2.3とかつける時のコミットログはなんて書きますか?
git commit -m "Release: 1.0"みたいな感じ?
144デフォルトの名無しさん:2014/07/16(水) 13:45:29.77 ID:G80bT3bq
最近はREADMEをマークダウンで書いたりするのか。
145デフォルトの名無しさん:2014/07/16(水) 13:46:33.57 ID:G80bT3bq
>>143
tagつけるので、コミットメッセージは気にしない。
146デフォルトの名無しさん:2014/07/16(水) 13:47:41.27 ID:YAHvhD3g
GitHub使うとそれがデフォだったりするからな
147デフォルトの名無しさん:2014/07/16(水) 14:05:10.01 ID:Hxrp0ywP
GitHubだとリポジトリのリンク開いたときにトップディレクトリのREADME.mdをHTMLに変換して表示してくれるからね
トップディレクトリの一覧の下にそれを表示するんで、トップディレクトリ自体にはあまりファイルとかたくさん置かないようにしとくと更に見やすくて良い
148デフォルトの名無しさん:2014/07/16(水) 14:15:16.78 ID:Hxrp0ywP
>>142
一番最初に--allow-emptyで完全空っぽのコミット作ったりすると問題ある?
149デフォルトの名無しさん:2014/07/16(水) 14:19:26.07 ID:G80bT3bq
>>146
>>147
なるほろ。githubか。
150デフォルトの名無しさん:2014/07/17(木) 18:11:47.91 ID:FWioQIqe
プッシュし終わった跡に間違いに気づいてコミットしなおした
git commit -m "update"
git push
git add -A
git commit --amend -m "update"
ここからプッシュした内容をけして新しいコミットのをプッシュする場合はどうしたらよいか?
151デフォルトの名無しさん:2014/07/17(木) 18:23:12.64 ID:FWioQIqe
なんかgit pushしたら
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@*********:*********/*******.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
って出たのでgit pullしたら
Auto-merging server.php
CONFLICT (content): Merge conflict in server.php
Automatic merge failed; fix conflicts and then commit the result.
ってなったのでコンフリクトを直してaddしてcommitしてpushしました
>>150の跡にどうするのが一番良かったのか教えて下さい
152デフォルトの名無しさん:2014/07/17(木) 18:37:46.64 ID:5+M8kOpG
>>150-151
そもそも>>150をやってはいけない
pushしたコミットを--amendで直してはいけない

ただし場合によってはどうしてもやりたいときもあるので、そのときは git push -f を使う
push先のリポジトリの設定でこの操作が禁止されている場合もある

push -fをしてもいいのは、push先のリポジトリを自分しか見てないような場合とか、
自分以外の人が見てる場合にはその自分以外の人全員にpush -fする旨の許可を貰えるような場合
153デフォルトの名無しさん:2014/07/17(木) 18:40:00.40 ID:FWioQIqe
なるほどそうでしたか
これからはやらないことにします
こういうときって2回目のコミットログはfixとかって書いとけばいいですかね?
154デフォルトの名無しさん:2014/07/17(木) 19:54:07.75 ID:5+M8kOpG
>>153
コミットメッセージは何をfixしたとかupdateしたとかまで書いておいたほうがいいと思うけどね
155デフォルトの名無しさん:2014/07/17(木) 21:16:30.65 ID:0NORU4KM
チケット駆動とGitの組み合わせで開発するときに
何かするたびにチケット切って、それにあわせたブランチをGitで切って作業する運用って
プロジェクト中盤以降なら修正とか改善の粒度も小さいからしっくりくるんだけど
プロジェクトの何もない最初のほうは、1つの大きな機能の実装に2週間とかかかって、
それのせいでブランチ閉じられずにマージコミットやコンフリクトがあふれてなんかしっくりこない。

チケット駆動してる人は最初からチケット駆動してる?
それとも落ち着くまではmasterに直接コミット突っ込んだりしてる?
156デフォルトの名無しさん:2014/07/17(木) 21:21:35.53 ID:iWQxEqkT
>>153-154
--autosquash用のフォーマットの"fixup! 修正先のコミットID"、でいいよ
元々何をしたかったかは直前のコミットメッセージにあるわけだし
157デフォルトの名無しさん:2014/07/17(木) 21:36:45.43 ID:OTputfOO
コミットごとにpushするのはやめたほうがいい?
158デフォルトの名無しさん:2014/07/17(木) 21:48:15.42 ID:f9EwQ7K8
fixed #1223とかrefs #4643とかだな。
コメントだけではそれが安定か不安定かくらいしか見てない。
ローカルだとadhocとかno testとかもある。
159デフォルトの名無しさん:2014/07/18(金) 00:19:24.35 ID:9lilrWED
個人的なリポジトリなら自分が見やすいよう好きにすればいいし
共同のリポジトリなら仲間同士でルール決めてやるほうがよい
git flowやgithub flowあたりのメジャーなやりかたを採用するのもよい
コミットごとのpushがリポジトリを見づらくしてるよう思うのなら仲間と相談してしないようにルールを決めればよい
160デフォルトの名無しさん:2014/07/18(金) 01:07:16.29 ID:97CjBc8L
内容書くと、どこまで書くかという程度がそれぞれなので、文句が出る。
161デフォルトの名無しさん:2014/07/18(金) 01:23:55.70 ID:fn9HMHhn
>>150
> プッシュし終わった跡に間違いに気づいてコミットしなおした
> git commit -m "update"
> git push
> git add -A
> git commit --amend -m "update"
> ここからプッシュした内容をけして新しいコミットのをプッシュする場合はどうしたらよいか?

単純にpushしたらだめという意見が多いが別にそんなことはない。
運用の仕方による。

gitlabを使った場合のやり方。
メインのリポジトリからforkした個人のリモートリポジトリを作る。
これはgitlabにforkって機能があるんでそれを使うだけ。

メインのリポジトリには直接pushしない。個人のリモートリポジトリにpushする。
個人のリモートリポジトリは個人のものだから--amendして直してpushしていい。

そしてこの状態で思う存分レビューしてもらってNGなら直して--amendして
pushしてOKになったらメインのリポジトリにマージする。
162デフォルトの名無しさん:2014/07/18(金) 06:26:27.67 ID:P4uOsCCD
>>151

>>150 をやってしまったのなら pull してコンフリクトを治して add して commit して push するのが一番良い
163デフォルトの名無しさん:2014/07/18(金) 07:43:45.67 ID:NmG7h+bv
>>161
>>151 が聞いているのは
>>150 の状況にならないためにはどうすれば良いのか?ではなくて
>>150 の状況になってしまった場合どうすれば良かったのか?だから
その回答は今回の場合は適切じゃない


でも
>>150 へのレスだからいいのかな
164デフォルトの名無しさん:2014/07/18(金) 08:06:52.12 ID:Vkkmxlwy
上書きしないですぐに修正コミット追加するかrevertしてじっくり修正
誰もrevert使ってないのは縛りプレイなの?
165デフォルトの名無しさん
>>164
通常のコミットと、マージコミットと二つあるんだよね。

* A機能のコミット
* B機能のコミット
* A機能の小さなバグ修正
* C機能のコミット
* B機能のrevert
* A機能の小さなバグ修正
* B機能の再コミット

とかいう、通常のコミットだけの履歴を作りたいのかと。
こういうのは、機能毎にマージコミットであるべき。