Git 16©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
ソースコード管理を行う分散型バージョン管理システム、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 ブランチにマスターの変更を取り込むにはリベース?チェリーピック?どうすればいいの リベースはやってはいけないものと教え込まれて育ってきたけど正しい? gitのコマンドは必要だから搭載されている
やってはいけないものなどない。
会社のレベルが低いということだな 何もかもなかったことにするのがリベースだよね?
そんなことが許されるの? >>432
なんのために間違った作業を残しておくの?
何に使うのかを言って >>433
「間違った作業」という判断が間違いだったときのため。 >>434
なら「間違った作業」のブランチを別に作ればいいだけ 何も無かったことにするためにリベースを使うのは
ちょっと特殊な用途だと思う >>432
リベースはフィーチャーブランチを作り直すために使うんじゃないの
何もなかったことにするというのはだいぶ違うと思う >>437
リセットハードしても何もなかったことにはならんでしょ
リセットハードする前にそこでブランチ作ったり
単にハッシュ覚えとくだけでもガベージコレクション前なら戻れるし
ある時点にリセットするっていう
そのままの意味でいけますやん ここでなかった事にすると言ってるのは、コミットの履歴上でのことでしょう 間違えてパスワード入ったままpushして
元に戻したいっていうのが一番多い案件 そんなわけないだろ
小さくコミットをして言って、途中で不要なコミットを
なくしてレビューしやすくするのがrebaseの目的
このコミットでコードを修正しました。
その修正の際に入れたタイポを直したのが
このコミットです(ドヤー)とか見せられても
誰も嬉しくないんやで >>442
これあるわー
フィーチャーブランチの中で作ったデグレを修正したコミット履歴とかいらんねん リベースしたら分岐元のバージョンが新しくなるだけじゃなくて
過去のコミック履歴も消えるの?
消えた履歴はもうたどれない? リベースする前のフィーチャーブランチの先端のハッシュIDが残ってたらそこでブランチ作ったりできるしなんとかなるよ 一応見といて
2018年6月請求の不使用取消審判について
2001年以降、我々のオープンソース商標に関しては特に大きな変化はありませんでしたが、
先月18日に一部の指定商品に対して不使用取消審判が請求されました。
請求人は「[https://opensauce.co/株式会社OPENSAUCE]」(金沢市)であり、
料理レシピを共有するプラットフォーム提供などを行う事業を計画している会社のようです。
https://mag.osdn.jp/18/07/30/220000 >>450
別に30年分の履歴を全部覚えておく必要もないだろ 設定ファイルの中にパスワードが入っていてどうしても別ファイルに分離できない
なにかやり方が無いか探したら、フィルタを作る方法があるようだな
http://blog.davydovanton.com/2015/11/14/ignore-file-lines-in-git/ >>456
最後の一文
公式リリースノートでGit 2.18の全機能一覧を読んでください。 バージョン管理ツール「Git」は一体どういうものなのか?
https://gigazine.net/news/20180904-git-version-control-system/
なんでgigazineがgitなんか解説してんの?
ライトなIT系ニュースサイトのお前には力不足だろうに 訂正
どうでもいいコンピュータ関連の話題紹介サイトのお前には力不足だろうに 違うな
ナードが好きそうな話題紹介サイトのお前には力不足だろうに GIGAZINE以上の内容が書けて拡散できるお前がやれば? >>461
あの程度のgitの説明なら、誰でもかけるだろうなw
でもそんなのすでにたくさんあるからやる必要がない。 あ、ファイルダウンロード中だったw
しばらくしてからIPアドレス変更するよ 結局IPアドレス変更するの忘れた。
日付が変わると同時に変えるとしよう 自分より立場が上で途中から加わった人が”タイムスタンプが変わるのとファイルがロックできないとから使い物” <意訳>にならん。
GITからZIP管理にしようと言い出した。
どう説得したらいい? マージ最強
ロックはクソ
タイムスタンプはビルドシステムがファイルの変更に反応するのに必要 Git LFSのロックとか
ロックのあるSVNにしようじゃなくてzipかよ ホントにzip強制されるようなら転職不可避だな。
git以外でもろくでもない判断が下されるに違いない。 これやってトラブっても何も責任もてんがw
1. gitのメリットを言ってもらう
zipのメリットなら色々屁理屈言ってきそうなので
gitのメリットを言えないなら、それは無知であることを自覚させられる
2. gitのメリットの話と、人間の問題を切り分けて考えてもらう
gitのメリットがわからないのか、わかった上でそれを使う人間の技術力が低いから使えない
という話なのか、どちらかなのかはっきりさせる 3. 学習コストが云々言われたら、学習による開発効率向上による
コスト削減と比較してみたのかを聞いてみる。
コストコスト言うやつほど、"比較"をしてない。
コストは何をしてもかかるものなので、コストがかかる
っていうのは何の意味も持たない タイムスタンプは記録されているものを反映させればいいだけだから
zipなんかよりも完璧に管理できますって言えるな。
もちろん開発中はタイムスタンプを更新しないと不具合が発生するので
絶対にやらないこと。あくまで馬鹿向けのためのできると示すため 上司の上司に言って無能上司を更迭するしかない。
あるいは逃げるか。 どうぞどうぞでいいんじゃね?
メリットを享受する人間に実行してもらうのが吉。
俺はそれでもgitを使い続けるし、zipにしろって言われても無視する。(誰も困らないし。 >>481
要するに最終的にお前が会社を辞めるという結論でしょ? 468です。
みんなありがとう
その人には、自分の修正だけやってもらってGITでの管理は私がマージ&コミットすることになりました。本人は、VSS(ソースセーフ)にしたいらしい。 【このハゲ―、麦だろ】 TPPに米と毛が駆逐される <農林10号> 頭髪すら枯らせるモンサント
http://rosie.5ch.net/test/read.cgi/liveplus/1536286354/l50
ピザデブ、ピザハゲ、ピザ糖尿。 VSSか
Window10ではもう動かないんじゃなかったっけ http://medaka.5ch.net/test/read.cgi/prog/1531667040/
の39〜48あたり
VSSは遅いだけではなく破損するって時点で致命的
共有フォルダに毛が生えた程度のものと考えると良い
マージはあるみたいだが基本的に結果を確かめられないので博打になる ブランチあったらどうやってロックするんだ?
プログラミングではしばしば複数のファイルを編集する必要があるが
どのファイルを編集するのか全て作業前に把握して
全部ロック掛けるってのもむり
あ、このファイルも編集しないと
って思ったらもうロックされてたり
互いに同じファイルをロックしようとして作業が止まったらどうするんだ
相手が作業終わるまでサボる?
何ロックしてやがんだ!と文句を言いに行く?
ロックしたまま忘れたらどうする?
ロック無理やり解除して横取り? >>487
そもそも、ロックなどされない!
各人はリポジトリから、最新のファイルをダウンロードして、
自分の(ローカル)PC 内で、更新・保存するだけ
つまり、Git は、他のVSS と違って、一旦ローカルPC に、更新・保存しておく段階がある。
そして、切りの良い所で、それをリポジトリにアップロードする
そのアップロードは他人にも報告されるから、
アップロードされた最新のファイルを、ダウンロードし直せばよい VCS = Version Control System
VSS = Microsoft Visual SourceSafe Girのマージでロジックが変わってしまうパターンってなんかある?
VSSロックは官公庁の開発では割とアリだなと思ったよ >>492
あるよ。(だからマージされた後自動テストを走らせる)
例えば一つのブランチで、ファイルの上の方に
#define VALUE 100 という定義を追加する。
ずっと下の方で、VALUEを参照したコードを書く。
もちろんテストは通る
別のブランチで、ファイルの中頃に
#define VALUE 200 という定義を追加
そのすぐ下で、VALUEを参照したコードを書く
もちろんこれもテストは通る
この2つをマージすると
#define VALUE 100
#define VALUE 200
VALUE=200を期待しているコード
VALUE=100を期待しているコード
となる。
gitに限らずどんなものでもブランチ単体では問題ないし、
コンフリクトも起こさずにマージできるが、
テストに失敗してしまうことはある >>490
むしろロックでの開発が分からんって話なんだけど
テキストファイルを一回の作業で一個だけ編集する
ブランチは無し
って状況でも無けりゃ使えなくね
さらに
VSSは複数のファイルを同時にコミットみたいな機能が無いみたいに書いてあったけどまじ? >>495
人間から見た操作的には同時コミット(チェクイン)可能ではあるが、履歴は基本的にRCS/CVS的なファイル単位の差分管理のみ。 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/ 共有用なんかで作るベアレポジトリって、中身はHEADとかbranch/とかばかりで、実際に管理しているファイルは入ってませんよね
git ls-filesしても、なにも出てきません
そのベアレポジトリで管理されてるファイルの一覧を見る方法を教えてください
cloneすると、管理しているファイルもclone先に作成出てきますが、そうて'はなく、コマンド等で確認したいです Git 2.14.5, 2.15.3, 2.16.5, 2.17.2, 2.18.1, and 2.19.1 CVSとかsubversionでブランチを作るのはgitに比べると遅いといわれる理由は何なんや
gitではブランチはコミットオブジェクトを指すだけの参照だから、ブランチを作成するには、コミットオブジェクトを書き込むだけで済むから高速というのはわかる
一方CVSやsubversionではブランチをどうやって作ってるんや(´・ω・`) CVSは知らんがsubversionのブランチってほぼファイルコピーみたいなもんだからじゃない? svnはブランチ作るだけなら言うほど遅くないと思うがな。
ブランチ作った時点では差分がないからファイル内容はコピーされないで参照ができるだけだよ。
それでもgitよりやることは多いだろうけど、ブランチ作るのもリモートリポジトリ操作だからってのが一番大きいんじゃないかな。
CVSはRCSというdiffファイルで世代管理するツールがベースになっている。
リポジトリもRCSそのままのdiffファイルに毛が生えたようなテキストファイルの束だから遅いと聞けばそりゃまあそうだろうと思う。
当時のPC環境が今より数段遅かったというのもあるがローカルで使っても遅かった。 >>507
subversionはブランチはリモートに作るもの
ローカルだけでは作れないので遅いし
ネットワークがつながってないと使えない ブランチ作成でファイルを全部コピーするのはVSSぐらいだろ? GitHubを使ってみたくてGit勉強してるんだけど
GitがGUIで使えるような奴はなんか欠点あるの?Windows環境とかでもCLIでやってる人が多いのはなぜ? 日常的によく使う操作はIDE使った方が早いけど複雑な処理になったらCUI使わないとできなかったりするね
要は使い分け >>520
逆じゃないかな。
日常的にやってる操作はCUIの方が楽でしょ。
変遷をグラフィカルに表示して一望したかったりする時にGUIが大いに役立つ。 要は使い分けだよ
CUIが必要なければ使わなくていいし
とりあえずはCUIで勉強するのがおすすめ >>521
ほんそれ
CUIで充分
>変遷をグラフィカルに表示して一望したかったり
githubのnetworkで観てるわ >>521
グラフを見るなら
git log --oneline --decorate --graph --branches --tags --remotes
https://qiita.com/imudak/items/4a8549b46fe2e509a08c どうしてもキャラクタ表示じゃなきゃやだっていうこだわりが無けりゃ gitk --all& 一択だね。 初心者です。
長くなったソースファイル(s1.cpp)があり、
このコードの一部を、新規作成したファイル(s2.cpp)に分割したいと考えています。
この時、どのような方法で移行するのがGit的には望ましいのでしょうか。
とりあえず今までは、まず単純にコピーしてコミット、
両方のファイルから不要部分を削除(+微修正)してコミット、
といった感じで2回コミットしていました。
なお、開発環境はWindows10 Pro、言語はC++、UIはGit Bash、
ホスティングサービスはGitHubを想定しています。 ■ このスレッドは過去ログ倉庫に格納されています