Web プログラミング

【もりけん塾23日目】Gitの全体像を知る続き

Gitの基礎の続きを学習中のねこらのん(@nekoranon256)です。

 

前の記事の続き、いってみよ!草はやすぞ〜!

 

今日はGitのGit の基本 - Git リポジトリの取得から学習します。

サル先生のGit入門もわかりやすかったのでこちらも参考にしていきます^^!

 

簡単な流れ

  • リポジトリの設定や初期化
  • ファイルの追跡
  • 変更内容のステージやコミットなどができる
  • Git で特定のファイルを無視させる方法
  • ミスを簡単に取り消す方法
  • プロジェクトの歴史や各コミットの変更内容を見る方法
  • リモートリポジトリとの間でのプッシュやプルを行う方法

 

Gitリポジトリの取得方法は2つ

Gitリポジトリの取得方法は以下の2つ。

  • すでにあるプロジェクトやディレクトリをGitにインポート
  • すでにあるGitリポジトリを別のサーバーからクローン

 

まずはプロジェクトやディレクトリをGitにインポートする方法から理解してく!

方法①すでにあるディレクトリのリポジトリの初期化

git init→『.git』という名前の新しいサブディレクトリが作成される。リポジトリに必要なすべてのファイルがその中に格納される

注意:この段階ではプロジェクト内のファイルは一切管理対象になっていない

 

すでに存在するディレクトリの場合。

ファイルを鑑賞対象に追加してから最初のコミットへ。

追加したいファイルについては『git add』コマンドから『git comit』コマンドに。

  • git add *.c
  • git add LICENSE
  • git commit -m 'initial project version'

ここまでで鑑賞対象のファイルを持つGitリポジトリができあがり最初のコミットまで済んだということ。

方法②すでにあるリポジトリのクローン

git clone:gitリポジトリのコピー取得をした場合に使用するコマンド

 

cloneとcheckoutのちがい

 

リポジトリをクローンする場合:git clone【url】

 

$ git clone https://github.com/libgit2/libgit2:libgit2ディレクトリを作成し、その中で.gitディレクトリを初期化。リポジトリのすべてのデータを引き出し、最新バージョンの作業コピーをチェックアウト。

新しくできたlibgit2ディレクトリに入るとプロジェクトのファイルをみることができる。

 

変更内容のリポジトリへの記録

gitリポジトリを準備してプロジェクト内のファイルの作業コピーを取得する。

 

コピーして内容変更すると変更内容のスナップショットをリポジトリにコミットする。

 

作業コピー内には、

  • 追跡されているもの
  • 追跡されていないもの

この2通りがある。

 

追跡されているファイルは直近のスナップショットに存在したファイルのこと。

 

この追跡されているファイルには以下の3つの状態がある。

  • 変更されていない
  • 変更されている
  • ステージされている

 

追跡されていないファイルは上記以外のもの。

 

直近のスナップショットに存在せず、ステージングエリアにも存在しないファイルのこと。

 

最初にプロジェクトした時点ですべてのファイルは

  • 追跡されている
  • 変更されていない

この2つの条件になっている状態だということ

 

チェックアウトしただけで何も編集していない状態

 

ファイルの状態の確認

どのファイルがどの状態にあるのかを知るために使う主なコマンドが、

git status

です。

 

$ git status
On branch master
nothing to commit, working directory clean

引用:Git

この作業は追跡されているファイルの中に変更さているものがないことを意味するそうです…!

 

このあたりよくわからない…><

 

もりけんさんに質問

gitについて調べてみたけど内容量が多くて全然頭に入ってこない…!

 

そこで、甘えでもりけんさんに再度質問しました><

 

ということでした…!

 

わからないリスト、もりけんさんの記事

 

そして、【超入門】Github登録からGit使い方の基本まで完全解説①【初心者必見】 の記事を送ってくださいました…!

やさしい…

おわりに

1つずつ丁寧に頭に整理していかないとごちゃごちゃになる…

 

アウトプットもしたいけど、丁寧にまとめたいって思うと情報量だけが増してくので、丁寧でもきれいでもなくてもとりあえずアウトプットしていくことにします!

 

詳しくはGitページへ

 

もりけん塾(@terrace_tech

Thanks:もりけんさん

 

もりけんさんの『武骨日記』へ

 

-Web, プログラミング

© 2020 ねこらのん食占い中|管理栄養士・占いブロガーがプログラミング独学中