Git(1)



Gitはツール、GithubはWebサービス!!


Git Objects


  • Blob:git addを入力すると生成され、ファイルの内容に関する情報です.

  • Tree:git commitを入力すると生成されます.これはBlobまたはサブツリーのメタデータです.(ディレクトリの場所、属性、名前など)

  • Commit:git commitを入力したときに生成されます.これはコミットした瞬間のスナップショットです.(Blob、Treeを含む.)
  • Git Process Flow


  • Staging Area:workspaceは、変更されたスペースを一時的に格納します.
  • なぜこのスペースが必要なのですか?固定領域がなければ、リポジトリにアップロードしたくない変更もアップロードされ公開されます.ただし、このスペースがあれば、変更から選択してリポジトリに入れることができます.

  • ローカルレポート:ファイルは私のPCに保存されている専用リポジトリです.

  • リモートレポート:ファイルはリモート・リポジトリ専用のサーバ(Github)によって管理され、複数の人が共有できるようになります.
  • Git Commands


  • git status:gitプロジェクトのステータスを表示できます.(shellコマンドのlsと同様によく使用されます.)

  • git add(ファイル名):一時的に変更をStage Areaに保存します.

  • git commit:Stage Areaに格納されているコンテンツをローカルリポジトリにアップロードします.

  • git push origin main:ローカルストレージのmainというブランチのスナップショットを、リモートストレージのoriginに格納されているリモートリポジトリのURLに送信します.
  • git push-u origindevelop:-uオプションは、開発ブランチとリモートリポジトリURL(origin)を接続するために使用されます.ブランチの最初のプッシュに使用します.

  • git pull(リモート・リポジトリURL):リモート・リポジトリに格納されているコンテンツをローカル・リポジトリにインポートします.

  • git remote:リモート・リポジトリのURLを管理するコマンド.登録されているリモート・リポジトリの別名のみが表示されます.
  • git remote add(別名):(別名)というリモート・リポジトリのURLを登録します.
  • git remote-v:登録済みリモート・リポジトリの別名とURLを出力します.
  • git remove(別名):登録されているリモート・リポジトリを消去します.

  • git branch-M(名前):branchの名前を変更します.

  • git fetch(リモート名):fetchを実行すると一時ブランチが作成されます.(FETCH_HEAD)
  • fetchを使用するのは、pullを実行するとリモート・リポジトリのコンテンツが取得され、マージ操作が自動的に実行されるためです.ただし、リモート・リポジトリの内容を表示するだけで、ローカル・データとマージしたくない場合は、fetchコマンドで検証できます.
  • ローカル・リポジトリのmainにマージする場合は、FETCH HEADブランチをマージまたは再ドラッグできます.
  • pull=fetch+merge.
  • Git Repositoryの作成

  • git cloneを使用してRepositoryを作成
  • Githubは新しいリポジトリを作成します.
  • git clone(リモートリポジトリURL)githubで作成したリポジトリを私のPCにコピーします.
  • git initを使用して作成
  • Repositoryディレクトリ
  • git initコマンド新規リポジトリの作成
  • githubは、ディレクトリと同じ名前のリポジトリを作成します.
  • ターミナルウィンドウでgit remote add(別名)(リモート・リポジトリのURL)を入力してリモート・リポジトリを登録します.
  • git addとgit commitは既存と同じです.
  • githubのリポジトリは、ディレクトリ内のリポジトリのブランチと一致しないため、git push-u(別名)mainを入力してブランチを一致させることができます.
    (git cloneはコピーされているため、一致するgit initは一致しません.)
  • ***Commit Convention

  • 提出見出しの要約長は50文字を超えない.
  • タイトルとコンテンツの間に1行空けます.(タイトル作成後2回!)
  • できるだけ英語で記入し、単語の前半は大文字で記入します.
  • コミットは、最小の操作可能な単位で頻繁に実行する必要があります.
  • prefixを使用すると、コミットの目的がわかりやすくなります.
  • feat:Features(機能開発)
  • docs:Documentations
  • conf:構成(優先パラメータに関連)
  • test:Test(テスト関連)
  • fix:Bug-fix(エラー修正またはエラー修正)
  • refactor:refactoring(コードライブラリ、拡張機能時)
  • ci:連続統合
  • build:(構築に関連)
  • perf:パフォーマンス(パフォーマンス関連)
  • 例)README.mdファイルの作成
  • docs: Create README.md
    
    Add content about the project.