Git 16©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/08/15(火) 00:54:07.61ID:brNIopECE
ソースコード管理を行う分散型バージョン管理システム、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 14
http://echo.2ch.net/test/read.cgi/tech/1457412803/
Git 15
http://mevius.2ch.net/test/read.cgi/tech/1486239735/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
2018/09/05(水) 14:37:47.54ID:x+gvWT3Ia
Git LFSのロックとか
ロックのあるSVNにしようじゃなくてzipかよ
2018/09/05(水) 16:55:25.82ID:LMj9echWM
ホントにzip強制されるようなら転職不可避だな。
git以外でもろくでもない判断が下されるに違いない。
2018/09/05(水) 17:05:05.53ID:NuDqxS960
これやってトラブっても何も責任もてんがw

1. gitのメリットを言ってもらう
zipのメリットなら色々屁理屈言ってきそうなので
gitのメリットを言えないなら、それは無知であることを自覚させられる

2. gitのメリットの話と、人間の問題を切り分けて考えてもらう
gitのメリットがわからないのか、わかった上でそれを使う人間の技術力が低いから使えない
という話なのか、どちらかなのかはっきりさせる
2018/09/05(水) 17:19:10.11ID:NuDqxS960
3. 学習コストが云々言われたら、学習による開発効率向上による
コスト削減と比較してみたのかを聞いてみる。
コストコスト言うやつほど、"比較"をしてない。

コストは何をしてもかかるものなので、コストがかかる
っていうのは何の意味も持たない
2018/09/05(水) 22:14:45.12ID:lJPKIZX50
>>468
ZIPでロックってどうやるの?
2018/09/05(水) 22:42:11.62ID:S1SDnFNk0
旭化成に聞け
2018/09/06(木) 00:27:17.98ID:Jdy9TDMj0
>>470
たぶんそういう理由じゃないかと
2018/09/06(木) 01:13:55.50ID:uUC4mFDs0
タイムスタンプは記録されているものを反映させればいいだけだから
zipなんかよりも完璧に管理できますって言えるな。

もちろん開発中はタイムスタンプを更新しないと不具合が発生するので
絶対にやらないこと。あくまで馬鹿向けのためのできると示すため
479デフォルトの名無しさん (ワッチョイ 8323-x/oF [122.215.159.99])
垢版 |
2018/09/06(木) 14:40:55.44ID:tPMc56fx0
上司はmakeも使ったことなさそう
2018/09/06(木) 16:39:53.16ID:0K+kPg6GM
上司の上司に言って無能上司を更迭するしかない。
あるいは逃げるか。
481デフォルトの名無しさん (ブーイモ MMf2-g3SB [49.239.64.143])
垢版 |
2018/09/06(木) 23:36:24.86ID:vgIThwnhM
どうぞどうぞでいいんじゃね?
メリットを享受する人間に実行してもらうのが吉。
俺はそれでもgitを使い続けるし、zipにしろって言われても無視する。(誰も困らないし。
2018/09/06(木) 23:41:01.70ID:DUG5skog0
>>481
要するに最終的にお前が会社を辞めるという結論でしょ?
483デフォルトの名無しさん (ワッチョイ 56a5-3fKS [153.226.37.249])
垢版 |
2018/09/07(金) 14:34:07.97ID:m03GO2h00
468です。
みんなありがとう
その人には、自分の修正だけやってもらってGITでの管理は私がマージ&コミットすることになりました。本人は、VSS(ソースセーフ)にしたいらしい。
484デフォルトの名無しさん (ワッチョイ d7d2-O+me [110.134.253.153])
垢版 |
2018/09/07(金) 14:38:13.96ID:oi3cVzRd0
【このハゲ―、麦だろ】 TPPに米と毛が駆逐される  <農林10号>  頭髪すら枯らせるモンサント
http://rosie.5ch.net/test/read.cgi/liveplus/1536286354/l50


ピザデブ、ピザハゲ、ピザ糖尿。
2018/09/07(金) 14:59:51.29ID:SYXLO5DTd
VSSか
Window10ではもう動かないんじゃなかったっけ
2018/09/07(金) 22:20:22.94ID:sQE8oJr30
http://medaka.5ch.net/test/read.cgi/prog/1531667040/
の39〜48あたり

VSSは遅いだけではなく破損するって時点で致命的
共有フォルダに毛が生えた程度のものと考えると良い

マージはあるみたいだが基本的に結果を確かめられないので博打になる
2018/09/07(金) 22:45:30.25ID:/SXWHhZXM
ブランチあったらどうやってロックするんだ?

プログラミングではしばしば複数のファイルを編集する必要があるが
どのファイルを編集するのか全て作業前に把握して
全部ロック掛けるってのもむり

あ、このファイルも編集しないと
って思ったらもうロックされてたり

互いに同じファイルをロックしようとして作業が止まったらどうするんだ
相手が作業終わるまでサボる?
何ロックしてやがんだ!と文句を言いに行く?

ロックしたまま忘れたらどうする?
ロック無理やり解除して横取り?
2018/09/07(金) 23:02:57.37ID:SYXLO5DTd
>>487
質問する前にVSSの仕組を調べたら
489デフォルトの名無しさん (ワッチョイ 52bc-g3SB [123.198.62.37])
垢版 |
2018/09/09(日) 19:28:30.17ID:MfNlARvD0
>>482
まあ、それでもいいと思ってる。
2018/09/09(日) 21:50:05.46ID:0ym3cmgA0
>>487
そもそも、ロックなどされない!

各人はリポジトリから、最新のファイルをダウンロードして、
自分の(ローカル)PC 内で、更新・保存するだけ

つまり、Git は、他のVSS と違って、一旦ローカルPC に、更新・保存しておく段階がある。
そして、切りの良い所で、それをリポジトリにアップロードする

そのアップロードは他人にも報告されるから、
アップロードされた最新のファイルを、ダウンロードし直せばよい
491デフォルトの名無しさん (ワッチョイ 322b-/Cba [115.176.248.119])
垢版 |
2018/09/10(月) 01:50:08.92ID:XWUDo7+C0
VCS = Version Control System
VSS = Microsoft Visual SourceSafe
492デフォルトの名無しさん (ワッチョイ d2d2-JH7f [27.139.3.34])
垢版 |
2018/09/10(月) 02:14:11.17ID:U+kFg4Kd0
Girのマージでロジックが変わってしまうパターンってなんかある?
VSSロックは官公庁の開発では割とアリだなと思ったよ
2018/09/10(月) 02:30:07.38ID:P2aNZV+z0
>>492
あるよ。(だからマージされた後自動テストを走らせる)

例えば一つのブランチで、ファイルの上の方に
#define VALUE 100 という定義を追加する。
ずっと下の方で、VALUEを参照したコードを書く。
もちろんテストは通る


別のブランチで、ファイルの中頃に
#define VALUE 200 という定義を追加
そのすぐ下で、VALUEを参照したコードを書く
もちろんこれもテストは通る

この2つをマージすると

#define VALUE 100
#define VALUE 200
VALUE=200を期待しているコード
VALUE=100を期待しているコード

となる。

gitに限らずどんなものでもブランチ単体では問題ないし、
コンフリクトも起こさずにマージできるが、
テストに失敗してしまうことはある
2018/09/11(火) 14:47:00.95ID:dkTItVlDM
2.19.0
2018/09/11(火) 15:54:22.41ID:2VlFQvaoM
>>490
むしろロックでの開発が分からんって話なんだけど

テキストファイルを一回の作業で一個だけ編集する
ブランチは無し
って状況でも無けりゃ使えなくね

さらに
VSSは複数のファイルを同時にコミットみたいな機能が無いみたいに書いてあったけどまじ?
2018/09/11(火) 16:01:58.73ID:OkaM0mANd
>>495
VSSにブランチの概念はない
2018/09/11(火) 18:36:51.82ID:0i8biixP0
Git v2.19.0
2018/09/11(火) 18:37:18.33ID:0i8biixP0
Highlights from Git 2.19
https://blog.github.com/2018-09-10-highlights-from-git-2-19/
2018/09/11(火) 18:38:12.15ID:0i8biixP0
「Git 2.19」リリース
https://mag.osdn.jp/18/09/11/155000
500デフォルトの名無しさん (ブーイモ MM03-n99c [49.239.64.246])
垢版 |
2018/09/13(木) 16:46:03.57ID:C1t3Cz+AM
>>495
人間から見た操作的には同時コミット(チェクイン)可能ではあるが、履歴は基本的にRCS/CVS的なファイル単位の差分管理のみ。
2018/09/14(金) 00:48:08.83ID:J4ZFV+3f0
Now available: Git for Windows 2.19, including experimental built-ins for rebase and stash that make them both much, much faster! https://gitforwindows.org/
2018/09/14(金) 13:11:27.35ID:NuWld65Ld
共有用なんかで作るベアレポジトリって、中身はHEADとかbranch/とかばかりで、実際に管理しているファイルは入ってませんよね
git ls-filesしても、なにも出てきません

そのベアレポジトリで管理されてるファイルの一覧を見る方法を教えてください

cloneすると、管理しているファイルもclone先に作成出てきますが、そうて'はなく、コマンド等で確認したいです
2018/09/14(金) 17:59:23.22ID:RTxUXMhCd
git ls-files in bare repository

https://stackoverflow.com/questions/25906192/git-ls-files-in-bare-repository
2018/09/20(木) 00:41:04.59ID:IeH7cyBo0
>>503
d
2018/09/25(火) 19:14:08.32ID:DqPu4rdnM
>>453
こっちになった
移行じゃなくてミラーだけど
https://github.com/openjdk/jdk
2018/10/06(土) 13:27:10.21ID:rmV7SZbq0
Git 2.14.5, 2.15.3, 2.16.5, 2.17.2, 2.18.1, and 2.19.1
2018/10/10(水) 16:37:24.37ID:egSEd3WL0
CVSとかsubversionでブランチを作るのはgitに比べると遅いといわれる理由は何なんや

gitではブランチはコミットオブジェクトを指すだけの参照だから、ブランチを作成するには、コミットオブジェクトを書き込むだけで済むから高速というのはわかる

一方CVSやsubversionではブランチをどうやって作ってるんや(´・ω・`)
508デフォルトの名無しさん (ワッチョイ 7fd2-VYU6 [27.139.3.34])
垢版 |
2018/10/10(水) 22:28:09.22ID:HW3BEf/50
CVSは知らんがsubversionのブランチってほぼファイルコピーみたいなもんだからじゃない?
2018/10/10(水) 23:46:19.37ID:/J/gc11M0
svnはブランチ作るだけなら言うほど遅くないと思うがな。
ブランチ作った時点では差分がないからファイル内容はコピーされないで参照ができるだけだよ。
それでもgitよりやることは多いだろうけど、ブランチ作るのもリモートリポジトリ操作だからってのが一番大きいんじゃないかな。

CVSはRCSというdiffファイルで世代管理するツールがベースになっている。
リポジトリもRCSそのままのdiffファイルに毛が生えたようなテキストファイルの束だから遅いと聞けばそりゃまあそうだろうと思う。
当時のPC環境が今より数段遅かったというのもあるがローカルで使っても遅かった。
2018/10/11(木) 05:33:29.69ID:U1kKB/4M0
>>507
subversionはブランチはリモートに作るもの
ローカルだけでは作れないので遅いし
ネットワークがつながってないと使えない
2018/10/20(土) 02:27:48.69ID:PKh954ah0
新たなGit Submoduleの脆弱性にパッチが当てられた
https://www.infoq.com/jp/news/2018/10/git-submodule-vulnerability
2018/10/20(土) 09:19:23.04ID:BO8cyu3P0
>>511
Windowsは関係ないやつだっけ
2018/10/20(土) 11:36:14.44ID:1JRAiva60
ブランチ作成でファイルを全部コピーするのはVSSぐらいだろ?
2018/10/20(土) 11:37:16.20ID:78lNsJHxd
>>513
VSSにブランチの概念はないが
515デフォルトの名無しさん (ワッチョイ 8222-jcdN [61.115.215.117])
垢版 |
2018/10/20(土) 12:08:25.43ID:1JRAiva60
>>514
ファイルの共有および分岐、マージ機能
https://msdn.microsoft.com/ja-jp/library/cc844084.aspx
2018/10/20(土) 12:23:41.67ID:u8BRF3D8F
VSS使ってる人を見たことが無い
2018/10/20(土) 12:51:26.53ID:p50FLLA40
>>516
ここにいるよ
2018/10/20(土) 12:53:33.46ID:2Ee4S1NJ0
見えねえよ!
2018/10/22(月) 02:51:07.37ID:JY8WGcRS0
GitHubを使ってみたくてGit勉強してるんだけど
GitがGUIで使えるような奴はなんか欠点あるの?Windows環境とかでもCLIでやってる人が多いのはなぜ?
2018/10/22(月) 04:02:36.43ID:j8tP0SGk0
日常的によく使う操作はIDE使った方が早いけど複雑な処理になったらCUI使わないとできなかったりするね
要は使い分け
2018/10/22(月) 05:30:44.52ID:RUY6XiTDM
>>520
逆じゃないかな。
日常的にやってる操作はCUIの方が楽でしょ。
変遷をグラフィカルに表示して一望したかったりする時にGUIが大いに役立つ。
2018/10/22(月) 05:46:24.38ID:N67JkGaA0
要は使い分けだよ
CUIが必要なければ使わなくていいし
とりあえずはCUIで勉強するのがおすすめ
523名無しさん@そうだ選挙に行こう! Go to vote! (アウウィフ FF45-T/6m [106.171.82.97])
垢版 |
2018/10/22(月) 10:19:53.34ID:H1W4+XYRF
>>521
ほんそれ
CUIで充分

>変遷をグラフィカルに表示して一望したかったり
githubのnetworkで観てるわ
2018/10/22(月) 10:50:38.25ID:I4MTei6td
なるほど
みなさんありがとう
2018/10/22(月) 13:59:01.46ID:hpO1MPIz0
>>521
グラフを見るなら
git log --oneline --decorate --graph --branches --tags --remotes

https://qiita.com/imudak/items/4a8549b46fe2e509a08c
2018/10/22(月) 22:00:13.43ID:/WLKH1/z0
どうしてもキャラクタ表示じゃなきゃやだっていうこだわりが無けりゃ gitk --all& 一択だね。
2018/10/23(火) 11:18:14.34ID:DXe2mvvE0
初心者です。

長くなったソースファイル(s1.cpp)があり、
このコードの一部を、新規作成したファイル(s2.cpp)に分割したいと考えています。
この時、どのような方法で移行するのがGit的には望ましいのでしょうか。

とりあえず今までは、まず単純にコピーしてコミット、
両方のファイルから不要部分を削除(+微修正)してコミット、
といった感じで2回コミットしていました。

なお、開発環境はWindows10 Pro、言語はC++、UIはGit Bash、
ホスティングサービスはGitHubを想定しています。
2018/10/23(火) 12:47:10.81ID:Wj5ElhAPd
git的にはどうでもいいと思うけど、ファイルコピーしたという事実をわざわざ履歴に残したいの?意味なくない?
2018/10/23(火) 13:39:01.02ID:FFh+Bj38d
>>528
コピーした事実というか、s2.cppからs1時代の履歴を追えるようにする
というのが一番の目的です

現状でも、分割したタイミングで分割したよとメッセージを残しておけば
人間なら内容を理解できるので、そちらを見てくれるとは思います

システム的なルールに限らず、定番のやり方だとか
別ツールで利用するときに相性の良い方法などあるのかな?
と思った次第
530デフォルトの名無しさん (ワイーワ2 FFca-T/6m [103.5.140.167])
垢版 |
2018/10/23(火) 16:48:16.91ID:FvY73oN4F
>>527
一回で充分

人間は
AをBにcopy
Aを編集
Bを編集

のつもりでも

gitは
AをBにrename
Aを新規作成
Bを編集

だったりする
(必ずこうなる訳ではない)

良きに計らえ
2018/10/23(火) 17:08:18.22ID:DXe2mvvE0
>>530
ありがとう
リネーム扱いになるってことは、基本的にはちゃんと追ってくれるってことでいいのかな
2018/10/23(火) 18:22:33.25ID:xAYLa4Bh0
いまの操作でほぼ確実にログやblameが追跡できているのであれば
多分ほぼベストな方法なんじゃないかと思う
2018/10/23(火) 20:36:56.77ID:mSpmNxQXr
各commitの変更を見たりcheckoutするときとかはSourceTreeの方が便利だなぁと感じる
rebase -iとかfilter-branchを使う時はCLIでやってる
2018/11/03(土) 02:36:21.94ID:yOxw5Aji0
次に出る、2.20では

* "git rebase" and "git rebase -i" have been reimplemented in C.

なんだな。いろいろバグが出そう。
2018/11/03(土) 12:48:17.60ID:RboIWkxY0
privateなリポジトリに誰がcloneしたか見る機能あります?
2018/11/03(土) 17:48:49.21ID:PS6F4XwB0
孫cloneできるのに意味あるのかな
GitHubやGitLabの監査ログには書かれると思う
2018/11/05(月) 20:51:03.08ID:PqRqYFSPa
個人の開発でパソコン二台で運営してる時、それぞれのパソコンでuser.nameとuser.emailは使い分けるべき?
2018/11/06(火) 00:16:35.19ID:5V09deogM
>>537
ありえない
2018/11/06(火) 00:17:12.86ID:8GzB8hGM0
何を運営してるか知らないけど、2台とも同じユーザが使うならuser.nameとuser.emailも同じでいいでしょ
2018/11/06(火) 00:44:01.68ID:J4R3dj77a
>>538-539 ありがとうございます。
2018/11/06(火) 01:02:17.74ID:hJrvZhf4d
>>537
分けるべきだよ
2018/11/06(火) 01:03:31.00ID:HIVoSst90
>>541
なぜそう思った?
2018/11/06(火) 10:22:48.91ID:UWTUj1+d0
もしかすると、特定の用途のときに優位性を発揮するとかはあるのかもしれないが
すぐには思いつかないなあ
2018/11/06(火) 13:32:21.44ID:DAQk+AT90
https://public-inbox.org/git/20181025024005.154208-1-sandals@crustytoothpaste.net/T/#t

でSHA-256の実装はほぼ完了。

Design of multiple hash support
https://public-inbox.org/git/20181106001340.GC890086@genre.crustytoothpaste.net/T/#t

で複数のhash サポートについて議論している。
2018/11/10(土) 12:26:31.36ID:bsspMczpM
.gitattributesで自前のxfuncnameを使おうと思ってるんだけど、xfuncnameの方をリポジトリに設定することって出来ないかな?
2018/11/23(金) 19:42:01.93ID:YyxL/r6P0
Git v2.20.0-rc1
2018/11/23(金) 19:44:51.13ID:YyxL/r6P0
Git Rev News: Edition 45
https://git.github.io/rev_news/2018/11/21/edition-45/

を読んでたんだけど、開発者紹介で

Developer Spotlight: Elijah Newren

> I’m a husband to the most amazing woman in the world, and a father
> to one son and six daughters. My wife is expecting again,

すげーw。嫁が8人目を妊娠中とかどんだけw

ユタ大学ってことはモルモンなのかな。
2018/11/23(金) 22:18:26.62ID:0ix/Vw/v0
>>547
嫁さん大好きなんだろうな。なんかほっこりする
549デフォルトの名無しさん (ワイーワ2 FFdf-OXRW [103.5.142.121])
垢版 |
2018/11/24(土) 12:10:57.56ID:4kdGLnPdF
元気があってよろしい
2018/12/09(日) 19:52:39.51ID:I9UHrLel0
Git v2.20.0
2018/12/10(月) 23:22:19.59ID:orEtNKmz0
「Git 2.20」リリース
2018年12月10日16:45
https://mag.osdn.jp/18/12/10/164500
552デフォルトの名無しさん (ワッチョイ 823d-7MGl [61.210.222.177])
垢版 |
2019/01/08(火) 10:44:21.28ID:eVc6Zkgq0
朗報、GitHub無料ユーザーも無制限にプライベートリポジトリを使えるようになる
https://jp.techcrunch.com/2019/01/08/2019-01-07-github-free-users-now-get-unlimited-private-repositories/
“GitHub”の非公開リポジトリ、無償プランでも無制限に 〜新しい料金プランが発表
https://forest.watch.impress.co.jp/docs/news/1161195.html

Thank you Microsoft!
2019/01/08(火) 11:03:49.09ID:Wrr+1l7l0
MSが買収してよかったなー
554デフォルトの名無しさん (アウウィフ FFeb-aDDJ [106.171.66.79])
垢版 |
2019/01/08(火) 11:05:39.19ID:GKZx39y6F
いいね
555デフォルトの名無しさん (アウウィフ FFeb-K/5i [106.171.86.186])
垢版 |
2019/01/08(火) 11:08:13.12ID:KHUyGseUF
+1
2019/01/08(火) 11:48:48.30ID:IOloucApr
bitBacketどうすんの!潰れる!
2019/01/09(水) 02:41:34.19ID:KMLaM5D70
jira使ってるところはbitbucket使うし問題ない
2019/01/09(水) 18:17:48.19ID:XtKn/dRe0
jira使ってるけどGitLab……
2019/01/10(木) 15:55:09.18ID:JukcLfSi0
gitLabカワイソス
2019/01/17(木) 02:04:36.55ID:4U+kn+K10
そいえば謹製のCIだかCDだかってどうなったん?
2019/01/29(火) 20:54:18.09ID:EpZjxfb30
ワークフローとパフォーマンスを改善したGit 2.20
https://www.infoq.com/jp/news/2019/01/git-2.20-released
562デフォルトの名無しさん (オッペケ Sr4f-ZdbU [126.212.132.174])
垢版 |
2019/01/30(水) 16:09:35.32ID:bpDBhNFvr
gitはバージョンアップしなくても使えるからバージョンアップしない
2019/02/10(日) 13:02:56.99ID:inc2rluC0
次の次( git 2.22 ? ) あたりで、 git switch ってコマンドができるみたいだな。
git checkout とは似て非なるコマンドのようだ。
2019/02/10(日) 18:29:22.46ID:CqEEFuoP0
マジで?

tortoise gitはswitchって文言をcheckoutのために使ってるからややこしいね
2019/02/10(日) 19:02:50.76ID:ii8DmMqP0
stashとcheckoutを合わせたようなニュアンスを感じるが、どんなもん?
2019/02/10(日) 21:11:30.45ID:xmxMnEHA0
>>563
どこ情報?
2019/02/11(月) 14:27:59.53ID:a3vDiVrE0
チェリーピックっていつ使うのか全くわからない…
2019/02/11(月) 14:55:08.32ID:ccY6NTqY0
最新リリースのバグ対策を進めながら、そのうちいくつかのバグ修正が旧リリースにも必要なことが判明したときとか
同僚が開発してた機能にDBの定義変更があって、自分の担当する機能にも同じ変更の影響があることに後から気付いてSQL周りを貰いたくなったときとか
2019/02/11(月) 18:16:18.89ID:6VqHOMsI0
>>566
https://public-inbox.org/git/20190130094831.10420-1-pclouds@gmail.com/T/#t
2019/02/11(月) 18:36:52.51ID:6VqHOMsI0
>>567
よそのブランチから良さげな修正だけを持ってくる時に使うくらいかな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況