LoginSignup
0
0

More than 1 year has passed since last update.

Git・GitHubの仕組み

Posted at

一言で言えば、ファイルのバージョン管理をするもの。
Githubとは、Gitのリポジトリホスティングサービスとセットで使われることが多い。

Gitとは

ソースコードの変更履歴や、画像ファイルの変更履歴を管理するシステム。
複数のユーザーが同じファイルを操作する場合にとても便利仕組み。

Visual Studio CodeでGitのパスを通そう

Gitをインストールしたものの、現時点ではVisual Studio Code ではGitコマンドは使えない。

Visual Studio CodeでGitのパスを通そう。

スクリーンショット 2022-06-19 10.02.57.png

setting.jsonで編集を行う。

以下のコードを追加する。

"git.path": "C:\\Program Files\\Git\\bin\\git.exe"

Gitのバージョンを確認する
スクリーンショット 2022-06-19 10.20.43.png

Cloud9でGit のバージョンを確認
git version

gitの初期設定

ユーザーの設定

git hubに設定した、登録したユーザ名を指定して、ユーザ名の設定を完了させる。

git config --global user.name "ユーザネーム"

メールアドレスの登録をする

githubで設定したメアドを登録する

git config --global user.email einstein8tesla@gmail.com

設定を確認する

#ユーザネームを確認
git config user.name
#メアドを確認
git config user.email
#gitの設定一覧を確認する
git config --list

gitの仕組みを確認する

gitではプログラムの状態をスナップショットとして保存する。それをコミットと呼ぶ。
そのコミットという単位でバージョンが管理される。そのコミットを記録しており、コミットの履歴をたどることでプログラムを特定のバージョンの状態に戻すことが可能。

<変更履歴>
・ローカルリポジトリへ変更履歴の保存
・github 上のへのリモートリポジトリへの変更履歴の保存
・github 上へへのリモートリポジトリからのプログラムの変更履歴を取得する操作

ローカルリポジトリの仕組み
ーーーリポジトリーーー
ーーーステージーーー
ーーーワークツリーーー

git add ファイル名

ステージに変更履歴を保存
コミットする変更を準備
たくさん変更したけど完了した分だけを記録してコミット

git clone ファイル名

リポジトリにスナップショットを記録

git プロジェクトを作成

Gitプロジェクトを作成する。git_tutorialという名前でプロジェクトを作成する手順を記録する。

プロジェクトを管理するディレクトリを作成して初期化する。

git initというコマンドを実行すると、今いるディレクトリ配下のファイルをGit管理に登録することができる。

mkdir git_tutorial

cd git_tutorial

#git管理を始まる
git init 

変更をステージに追加する

修正したものを他の人に共有したい時、
変更したファイルの一覧をステージに知らせるという作業を行う。
変更をステージに追加するにはgit add というコマンドを実行する

#ファイルごとにステージに追加する
git add (ファイル名)
#ディレクトリごとにステージに追加する
git add (ディレクトリ)
#ワークツリーの変更を全てステージに追加する
git add.

一度、ファイルを変更する

echo "# git_tutorial" >> README.md
#作成されたファイルを確認
cat README.md

以下、結果
スクリーンショット 2022-06-19 12.57.54.png

ステージに追加(

git add README.md
git add.

変更をローカルリポジトリに反映する(コミット)

git commit コマンドでステージに追加された変更履歴をローカルリポジトリに反映する作業をコミットと呼ぶ
実際にコミットを実行

git commit -m "最初のコミット"
git commit 
#エディタが立ち上がりファイルの変更内容が確認できる
git commit -v

変更状況を確認する

git status 

何を変更したのかを確認

#変更差分を確認
git diff 
#特定のファイルの変更差分をかくにんする
git diff READE.md
# ステージに追加された変更差分を確認する
git diff --staged

変更履歴を確認する

# コミットログを確認する
git log
# コミットログを一行で表示する
git log --oneline
# ファイル単位でコミットログを確認する
git log -p index.html
# 表示するコミット数を制限する
git log -n <コミット数>

スクリーンショット 2022-06-19 13.27.56.png

ファイルの削除を記録

#ワークツリーとリモートリポジトリからファイルを削除
git rm <ファイル名>
#ワークツリーとリモートリポジトリから削除する
git rm <ディレクトリ名> 
#リモートリポジトリからは削除するが、ワークツリーにはファイルを残したい
git rm --cached <ファイル名>

ファイルの移動を記録

git mv <旧ファイル> <新ファイル>

これは以下の操作と同じ挙動

# ファイルを移動する
mv <旧ファイル> <新ファイル>
# 古いファイルの削除
git rm <旧ファイル>
# 新しいファイルを追加
git add <新ファイル>

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ご愛読ありがとうございました。
何か気づきや質問があれば、コメントお願いします。
新しい情報を取得するたび、更新していきます。

良ければ、LGTM、ストックよろしくお願いいたします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0