あくまで備忘録なんで雑に記録します
Gitとは
リーナス・トーバルズ(Linux開発者)がバージョン管理システムのライセンス切れをきっかけに
スナップショットでバージョン管理(差分保存じゃないので早い)するシステムを作った
参考:もう怖くないGit!チーム開発で必要なGitを完全マスター
https://www.udemy.com/course/unscared_git/
図1
A・B・C → A・B1・C1 → A1・B1・C2 (変更がないものはそのまま)
GitHubとは
・クリス・ワンストラスが作った、開発者を支援するWebサービス(ホスティングサービス)
・無料プランでは、クラウドにアップされたソースコード全てがGitHubの利用者に公開
・Bitbucket非公開も無料(少人数)
・プルリクエストは、変更のリクエスト
他のメンバーにレビュー依頼、レビューがOKとなったソースコードだけを反映させることができる
ざっくりした流れ
①GitHubというWebサービス(ホスティングサービス、共有や公開):登録が必要
②PCにGitというソフトウェアが必要
③ローカルでの作業台(ワークツリー)が必要
④ワークツリーから、ステージに加える
⑤ローカルリポジトリへ引き渡す(コミットする)
⑥リモートリポジトリへ送る(プッシュする)
図2
(図1の)バージョン1〜バージョン2で、B1・C1へ変更したら、BファイルとCファイルを「add」
バージョン2を「commit」
ローカルリポジトリからリモートリポジトリへ「push」
どのようにデータを管理しているの?(発展)
①「add」
リポジトリに圧縮したものを配置
ステージにはその番地「index」を配置
②「commit」
・ツリー構成(index集)を登録=現在の最新状態ツリー
(図1の)バージョン2で例えると、ツリー構成は「A・B1・C1」
・コミットメッセージ(誰が、いつ、どんな変更をしたの?)
・現在のツリー
・親ツリー
などを記録
リポジトリには3種類のデータがある(圧縮ファイル・ツリー構成・コミット)
③新しいファイルを追加したら
「add」の流れは同じで、「phsh」の時にコミットメッセージに
今のツリー構成・親コミット(ちゃんと変更履歴を辿れる様に)が記録される
変更前の「圧縮ファイル」・「ツリー構成」・「コミット」はいずれも上書きせず、保存
では、使ってみる
【①GitHubの登録】
参考:Githubの登録(ユーザーネーム・メアド・PWを登録)届いたメールで認証
【②MacにGitがインストールされているか確認】
インストール確認
git –version
>git version 2.34.0(いた)
各種初期設定(ユーザー名・メアド・エディタ)
git config –global user.name “ユーザー名”
git config –global user.email “メールアドレス”
git config –global core.editor “エディタ名”
>にて、コミットしたときに誰が行なったコミットかを記録する
GitHubのユーザー名・アドレスと揃えた方が良いみたい
設定値確認
git config user.name
>ユーザー名でてくる(個別確認)
git config –list(一括確認)
(~/.gitconfig に記載されている)
【③ローカル環境を新規作成:ワークツリー】
mkdir [作業用ディレクトリ]・・・適当なディレクトリを作る
cd [作業用ディレクトリ]・・・そのディレクトリに移動
【④ローカルリポジトリ作成】
git init
hint: (抜粋)
・Using ‘master’ as the name for the initial branch. This default branch name is subject to change.〜>初期branch名は「master」にしとくよ〜
・Initialized empty Git repository in [作業用ディレクトリ]/.git/>空っぽのGitリポジトリを初期化したよ in 作業用のディレクトリ直下の[.git]という隠しフォルダに
ということで、.gitという隠しフォルダが出来ました
【.gitの中身】
・objectsフォルダ・・・リポジトリ本体(圧縮・ツリー・コミット)
・configファイル・・・設定ファイル
・indexファイル・・・ステージにあたる(圧縮ファイルを指す番地=インデックスを記載)
その他
[descriptionファイル, HEADファイル]
[hooksフォルダ, infoフォルダ, refsフォルダ]
【プッシュ先のリモートリポジトリを指定する】
登録したGitHubでリモートリポジトリのアドレスを確認
git remote add origin [https://github.com/[ユーザー名]/[リモートリポジトリ名].git]
【ローカル環境をリモートからコピー】
・リポジトリを「リモート」から「ローカル」にコピー
・ワークツリー(圧縮前の本体)もコピー
GitHubにて実際のオープンソースソフトを落としてみる(例ではAtom)
オープンソースを探す>右上の「Code」を選択して、URLをコピー
作業用ディレクトリを作りたい階層(つまり1個上)に移動(デスクトップとかでもOK)
git clone [URL](未 init のディレクトリ、デスクトップとかでOK)ちょっと時間かかる
Gitのコマンド
なんか知らんけど、間違ってたらすんません(笑)
コメント