2019-02-03

クソ簡単git説明をする

どこもかしこも妙ちくりんな図で混乱させてくるのうざい

自分で書いてみる

gitなんてクソ難しいんだから、きちんと概念理解させようとかすんなよ

 

なぜgit必要

バージョン管理のために必要、と言うと意味わからんと思う

プログラムみたいなのは少しずつ変更していくんだ

からかに変更の差分管理したり、変更を戻せたりしなきゃきつい

 

なぜgitか?他のバージョン管理との違い

うるせぇgit使え

そんなの来年考えろ

 

gitの基本要素、用語

branch:

いきなり説明が難しいが、branchがわかればどうにかなる。

例えば、今編集しているプログラムに対して、RPGセーブデータがあると思ってほしい。

それぞれのセーブデータがそれぞれのブランチにあたる。

セーブデータが1枠しか無いと、難しいだろ?何があるかわからない、戻ったり、試したりしたいからな。

セーブデータと少し違うのは、1個のブランチでも過去特定ポイントまで戻れるところだ。

から実は1人で使うなら最初ブランチ(master)だけでも割とどうにかなる。

あともちろんブランチコピーできる。

 

commit:

ブランチに新しい変更を追加する

上の例だとセーブすること

 

マージ

ブランチブランチを合体させる。

上の例だと、セーブデータ2つを合体させる。

そんなことできるのか??と思うだろうが、できるんだこれが。すげーだろ。

 

コンフリクト

マージ失敗

できてねーじゃねぇか

 

add

何かコミットの前にやらないと怒られるやつ

 

push

ローカルPCに保存したブランチを、githubとかそこらへんに送信するやつ

 

pull:

pushの逆(嘘)

 

fetch:

お前にはまだ早い

 

checkout:

ブランチを切り替えるコマンド

変更をリセットするときにも使う、リセットボタンみたいなやつ、間違って使うと死にたくなる

 

log

ログ編集履歴が見れるコマンド

 

リポジトリ

セーブデータ親玉、1個存在すると思えばいい

 

.gitignore:

管理から除外するファイルを書いておくファイル

面倒だけどやらないと余計に面倒になる

 

他のコマンド、他の用語、他の概念

お前にはまだ早い

死ぬ

 

gitの初め方

git initする

プログラムを作る、プログラム編集する

addする

commitする

pushする

 

本当はこれだけじゃない

ここらへんで大勢が詰むと思う

githubで新しいリポジトリを作ると、「このようにやってね!」みたいな説明が出てくるから、参考にするといい

あれ好き好き

 

gitの使い方

git clone

git branch -a(今あるブランチを全部見る)

git checkout ブランチ

プログラムを作る、プログラム編集する

git add .

git commit -m "編集内容"(もしくは、git commitで)

git push

 

branchをコピーして別のbranchを作る

git branch ブランチ

git checkout ブランチ名で移動

git branch で移動できたのを確認

または

git checkout -b ブランチ

 

編集しているbnrachを確認する

git branch

 

編集しているbranchを切り替える

git checkout ブランチ

 

Q&A

Q.SourceTreeをおすすめされた

A.初手でツール使うほうが詰むと思うんだけど、どうなの。WindowsMacで違いそうだが

 

Q.変更したけど、まだコミットしてないもの確認したい

A.git status

 

Q.まだコミットしてないものリセットしたい

A.git checkout .

 

Q.前のcommitに戻したい

A.お前にはまだ早い

 

Q.コンフリクトを解消したい

A.お前にはまだ早い

 

Q.じゃあマージを取りやめたい

A.git merge --abort

 

Q.何かエラー文出た

A.ググれ

 

Q.本とか買ったほうがいいのかな?

A.そうやってお前がやる気を出すとチームの誰かが不幸になる。かっこよく解決しようとするな。

 

Q.git完全に理解した

A.絶対わかってないから気をつけろ

  製作者の言葉を貼っておく

一般的git を学ぶ最適な方法は、最初はごく基本的なことだけを行い、基本を習熟して自信が持てるようになるまでは、その他のできることには目もくれないという方法です。

引用https://jp.linux.com/news/linuxcom-exclusive/428524-lco2015041401

 

これで1年は誤魔化せる

そのうち皆が誤魔化しながら生きてることに薄々気づき始めて大人って汚いと思うようになる

嘘だと思うなら「gitについて教えてほしいんですけど」って言ってみろ、みんな嫌な顔するから

  • anond:20190203175803

    A.初手でツール使うほうが詰むと思うんだけど、どうなの Githubを使う前提ならGitHub Desktopはおすすめ。ある程度コマンドの方になれたら導入してもいいように思う。 https://desktop.github...

    • anond:20190203180244

      いいねこれ 最近IDEの差分が見づらくなって

    • anond:20190203180244

      ワイの会社はGitlab&SourceTreeをお勧めされとるやで

    • anond:20190203180244

      Diffの確認やステージの操作はCUIよりやりやすかったのでSourcTree使ってる あとファイルの一部だけコミットしたり戻したりしたりするときも使うんだけど、これはひょっとしたらコミット...

  • anond:20190203175803

    Q.SourceTreeをおすすめされた A.初手でツール使うほうが詰むと思うんだけど、どうなの これは同意したい。 ツールはgitの概念を独自に整理したメタ概念を勝手に使うので、本来のgi...

    • anond:20190203181749

      gitって結構古いよね   ツールはあと、何か破壊してしまいそうで怖くなる 簡単すぎて逆に怖いというか かと言って、このボタンを押したらどうなるかっていうのはググりにくいし

  • anond:20190203175803

    俺はマンガでGitを理解したよ。 わかばちゃんと学ぶ Git使い方入門 https://www.amazon.co.jp/dp/4863542178/ オライリーの本とか難しくてどうせ最後まで読み切れないのに、みんなカッコつけて本棚...

  • anond:20190203175803

    長い。それだけで初心者には読んでもらえない。 自分なりに書いてみたのがこれ。 なぜgitが必要か ファイル名に日付をくっつけて過去版を別のとこに保存しておくことがあるだろう。...

    • anond:20190203183934

      言い訳 リモートレポジトリとかステージングエリアは、とりあえず使ってもらってから説明すればいいんだよ。 「ローカル・レポジトリ」「作業コピー」の2つの要素だけなら単純な...

      • anond:20190203183949

        ワイはざっと読んで元増田は「Git処女のプログラマー」を対象とした指南系増田、と見せかけて半分はGitを理解しているプログラマーが「ガハハ」と笑うことを意図しているあるある系...

      • anond:20190203183949

        非プログラマーが使ってる会社ってどうしてんだろ ツールを与えた上で押していいボタンを縛ってる感じか? 思えばsvnのツールは簡単だったなあ

        • anond:20190203193734

          svnのバージョン管理の概念は、単純に履歴を積み上げている以上なにもないからなあ ブランチとかタグはフォルダのコピー以上の何者でもないという扱いだし。 それに対してgitはバージ...

    • anond:20190203183934

      途中からsvnになってる

  • anond:20190203175803

    当方、時代に取り残されたおっさん。 ギット含めバージョン管理システムよくわからん。 いろいろサイト見たけど間違った時にどうしたらよいか、どこもちゃんと書いてないし、なんか...

  • anond:20190203175803

    これを見るに、 「gitってわけわかんねーな。どうしてプログラマの人たちはこんなのありがたがってるんだろう。」 以上の感想を抱けない。 ちなみに私は3行以上読めない。

    • anond:20190203195728

      毎日git使ってるKKOだが、3文字しか読めない

    • anond:20190203195728

      gitは地獄だが 前はもっと地獄だった それだけだ

    • anond:20190203195728

      はてなだって、こうやって言及元に辿れて、かつそれが分割したツリーだから議論が混乱しないだろ? それがgitよ

      • anond:20190204101345

        はてなの議論が混乱してない……だと……。 しらんけどgitというそれもきっと変な混乱が起きるんじゃあないのか。

        • anond:20190204101517

          【最終版】大事なソース_20190201 【最終版】大事なソース_20190202 大事なソース_20190202(最新) 大事なソース_20190202 大事なソース_20190204 こういう混乱が無くなるから便利と理解しとけば...

        • anond:20190204101517

          起きるよ。 初心者が下手にgitやると自分の失敗を歴史改変で無かったことにしようとしてハルマゲドンが起きたり、本来は分かれているはずの世界線を無理矢理ひとつにして混沌世界を...

      • anond:20190204101345

        増田をはてなと呼ぶな。

  • anond:20190203175803

    日本語って不利だよな 英語を翻訳してもだいたい漢字(中国語)だし やまとことばだけで書いた技術書とか読んでみたいよ

  • anond:20190203175803

    個人的にはsvnのほうが好きだけどな。 まあ、事情あってgit使えと言われたら使うしかないんだけど。

  • anond:20190203175803

    git push の反対は git pull ではない https://qiita.com/usamik26/items/28be7d2c221a7a53c2c3   これ前も書いたなw 3回目?

    • anond:20190203225159

      でも、そういうややこしい単語を選ぶセンスが悪い気もする

  • anond:20190203175803

    gitはプログラミングより難しいので、理解できるプログラマは最終的に1割もいない。

  • anond:20190203175803

    要するにgitがクソって事だ。gitに変わるversion controller出でよ!

    • anond:20190204091902

      gitより良いもの作れたら世界的に有名人になれると思うわ

      • anond:20190204094712

        いいものが流行るなら苦労はないとHaskellユーザーは思うであろう。 darks

      • anond:20190204094712

        「いいものを作れば売れるというナイーブな考えは捨てろ」   ――ラーメンハゲ

  • anond:20190203175803

    「お前にはまだ早い」に一票。

  • anond:20190203175803

    同じファイルの変更が上書きされていて、 「ここの修正が、君のpushで上書きされて修正前に戻ってるんだけど、心当たりある?」 ↓ 「ありません」 ↓ 「どんな操作したの?」 ↓ 「...

  • anond:20190203175803

    qiitaで図入りでやれ

    • anond:20190204130015

      図が諸悪の根源なんだって   図は概念を伝えるもので 目的と使い方は文章のほうが良いと思う そしてgitの概念はきちんと知ろうとすると難しい(同時に色んな概念やコマンドが登場す...

      • anond:20190204130247

        うまい図は文章のように読めるもんだが、あまりそういう教育をされた人は世の中にいないからな

  • anond:20190203175803

    「Q.本とか買ったほうがいいのかな?」の回答が汎用性ある。よくある不幸の始まり。

  • anond:20190203175803

    "git add"は「うpるファイルの選択」だお "add ."は"add ./*"に相当する

記事への反応(ブックマークコメント)

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん