0
0

More than 1 year has passed since last update.

git コマンド 基本的な操作 vol.1

Last updated at Posted at 2023-08-07

サンプル

# 新しいディレクトリを作成して移動します
mkdir git-tutorial 
cd git-tutorial 

# Git リポジトリを初期化します
git init

# 新しいファイルを作成し、内容を追加します
echo "Hello, Git!" > hello.txt

# Git にファイルの変更を追跡させます(ステージング)
git add hello.txt

# 変更の状態を確認します
git status

# 変更をコミットし、メッセージを残します
git commit -m "Initial commit: added hello.txt"

# 新しいブランチを作成して切り替えます
git checkout -b feature-branch

# ファイルを編集し、変更を追加します
echo "Modified content" >> hello.txt
git add hello.txt

# 変更の状態を確認します
git status

# 変更をコミットします
git commit -m "Modified hello.txt in feature branch"

# メインブランチに戻ります
git checkout main

# ブランチの履歴を確認します
git log

# フィーチャーブランチの変更をマージします
git merge feature-branch

# マージした変更をコミットします
git commit -m "Merged feature-branch into main"

# リモートリポジトリを追加します
git remote add origin <リモートリポジトリのURL>

# ローカルの変更をリモートにプッシュします
git push -u origin main

# 別のディレクトリに移動してクローンします
cd ..
git clone <リモートリポジトリのURL>


新しいファイルを作成し、内容を追加します

echo "Hello, Git!" > hello.txt

image.png

git status --- リポジトリの状態を確認

image.png
現在はmasterという名前のブランチにいることがわかる。
まだコミットがないということは、現時点では作成したこのリポジトリには何のファイルの何の状態も記録されていないことになる。

image.png
翻訳

ブランチが master 上にあります

まだコミットはありません

未追跡のファイル:
(コミットするためには "git add <ファイル>..." を使用してください)
README.md
hello.txt

コミットするものはありませんが、未追跡のファイルがあります (トラッキングするには "git add" を使用してください)

git add --- Git にファイルの変更を追跡させます(ステージング)

git add README.md

ファイルをGitリポジトリの管理対象とするためにgit addコマンドを利用して、ステージ領域と呼ばれる場所にファイルを登録します。ステージ領域とはコミットをする前の一時領域のことです。
image.png
翻訳

ブランチが master 上にあります

まだコミットはありません

コミットする変更内容:
(ステージングを解除するには "git rm --cached <ファイル>..." を使用してください)
新規ファイル: README.md

未追跡のファイル:
(コミットするためには "git add <ファイル>..." を使用してください)
hello.txt

git commit --- リポジトリの歴史を記録

git commit コマンドは、Git リポジトリ内で行った変更を新しいコミットとして記録するために使用されます。コミットは、プロジェクトの進行状況や変更履歴を記録するために非常に重要な概念です。各コミットは、変更内容やコミットメッセージとともに、一意の識別子(ハッシュ値)を持ちます。

git commit -m "コミットメッセージ"

-m "コミットメッセージ": コミットメッセージは、変更内容を簡潔に説明するテキストです。コミットメッセージは他の開発者や将来の自分が変更内容を理解するために重要です。メッセージは明確で分かりやすいものを心がけましょう。
コミットを作成する際の一般的なステップ:

変更内容をステージングエリアに追加する:git add <ファイル名> コマンドで、変更したファイルをステージングエリアに追加します。ステージングエリアに追加された変更は、次のコミットに含まれる予定です。

コミットを作成する:git commit -m "コミットメッセージ" コマンドで、ステージングエリアに追加した変更をコミットとして記録します。コミットメッセージには、変更の内容や目的を説明するテキストを記述します。

重要な点:

コミットは一意の識別子(ハッシュ値)を持ち、変更の履歴を追跡します。
コミットメッセージは他の開発者とコラボレーションする際に重要であり、良い習慣として適切なメッセージを記述しましょう。
正確な変更単位でコミットを作成することが望ましいです。必要に応じて複数のコミットに分割することもできます。

 git commit -m "first commit"
[master (root-commit) 3ffd188] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.md

翻訳

git commit -m "最初のコミット"
[master (root-commit) 3ffd188] 最初のコミット
 1 ファイルが変更されました。0 行が挿入され
、0 行が削除されました。
 ファイルモード 100644 README.md が作成されました

git log ---コミットログを確認

リポジトリにコミットされたログを確認できるコマンド。誰がいつコミットやマージをして、どのような差分が発生したのかなどを確認できます。

git log を終了するには半角のqのキー。 Ctrl + Cなどでは終了できませんのでご注意下さい。 また git diff でも同様に終了するにはqのキーとなります。

git log
commit 3ffd1885c17135206d3c27a5bc186f35948a1fdb (HEAD -> master)
Author: okuyama <130431374+okuyama-code@users.noreply.github.com>
Date:   Mon Aug 7 13:02:38 2023 +0900

    first commit

翻訳

コミット 3ffd1885c17135206d3c27a5bc186f35948a1fdb (HEAD -> master)
著者: okuyama <130431374+okuyama-code@users.noreply.github.com>
日付:   2023年8月7日 13時02分38秒 +0900

    最初のコミット

コミットメッセージの一行目のみを表示する

git log --pretty=short

指定したディレクトリ、ファイルのみのログを表示する

git log README.md

ファイルの差分を表示する

git log -p
git log -p README.md

image.png

git diff --- 変更差分を確認

git diffは現在のワークツリーとステージ領域の差分を確認する

git diff
diff --git a/README.md b/README.md
index e69de29..0c5949a 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1 @@
+# Git チュートリアル

+で表記されている行が追加された行です。
削除された行があると-で表記される。

image.png

git diff HEAD ワークツリーと最新コミットの差分を確認する。

git diff HEAD
diff --git a/README.md b/README.md
index e69de29..0c5949a 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1 @@
+# Git チュートリアル

git commitコマンドを実行する前にgit diff HEADを実行して今回のコミットが前回のコミットからどのような差分があるか確認してからコミットする癖をつけるとよい。
uploading...0

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