Git チュートリアル - リポジトリの初期化

Jinku Hu 2022年2月6日 2018年7月19日
Git チュートリアル - リポジトリの初期化

このチュートリアルでは、最初の git プロジェクトを作成します。

C ディスクに Git という名前のフォルダーを作成できます。この C:\Git フォルダーを作成することは絶対に必要ではありませんが、そのフォルダーにすべてのリポジトリを置くのは私の個人的な好みです。

次に、C:\Git フォルダーに GitLearn という名前の新しいフォルダーを作成します。これがプロジェクトフォルダーになります。

ここで git init を使用して空の git リポジトリを初期化できますが、

git init

次に、bash で初期化の確認が成功します。

git init
Initialized empty Git repository in C:/Git/GitLearn/.git/

git status

リポジトリにファイルを追加する前に、git status を使用してリポジトリの現在のステータスを取得できます。

$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

確かに、リポジトリはまだ空であり、単一のコミットはまだありません。それでは、このフォルダにいくつかのファイルを追加できます。
test1.txt テキストファイルを作成し、これは私の最初の Git リポジトリです。などの文をファイルに入れて保存します。
もう一度 git status をチェックすると、

$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    test1.txt

nothing added to commit but untracked files present (use "git add" to track)

新しいファイルは、追跡されていないファイルリスト内のステータス情報に表示されます。追跡されていないファイルは、追加してコミットしないと追跡されません。
まず、git add コマンドを使用して、それらを staging エリアに追加する必要があります。

git add test1.txt

ここで、再度 git status と入力して、最新のリポジトリステータスを取得します。

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   test1.txt

追加されたファイルは現在ステージング領域にあり、コミットされるのを待っています。
git commit コマンドを使用して、新しいステージングファイル test1.txt をリポジトリにコミットする必要があります。

$ git commit -m "the first commit. add test1.txt to the repository"
[master (root-commit) 15322c9] the first commit. add test1.txt to the repository
 1 file changed, 1 insertion(+)
 create mode 100644 test1.txt

ここでステータスを確認すると、クリーンな作業ツリー情報が得られます。

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

コミット履歴のログ情報を取得したい場合は、git log と入力してコミットログを取得できます。

$ git log
commit 15322c93a528af85dbba478a77b93cb6477698cb
Author: Your Name <yourname@email.com>
Date:   Wed Jul 25 00:14:49 2018 +0200

    the first commit. add test1.txt to the repository
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn