0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Git講習第4話「Gitで作業開始:コミットからプルまで」

Last updated at Posted at 2023-07-11

この記事について

本記事は社内で実施したGit講習のスライドを元に作成された記事です。
Gitを使ってはいるものの、どういう構造になっているかとか仕組みについてはあまりわかっていないという方たちを対象にしています。

前回

イントロダクション

スクリーンショット 2023-07-11 23.35.57.png

用語の解説

実際にGitを操作してみる前に幾つかの用語について説明しておきます

ワークツリー

ワークツリー(または作業ディレクトリ、作業ツリーとも呼ばれます)は、実際に作業しているディレクトリの事です。
スクリーンショット 2023-07-11 23.38.20.png

インデックス

インデックス(またはステージングエリア)は、Gitが次のコミットでリポジトリの記録するファイルの集合体です。
スクリーンショット 2023-07-11 23.39.18.png

コミット

コミットは、インデックスをローカルリポジトリに保存することです。
スクリーンショット 2023-07-11 23.40.21.png

プッシュ

pushは、ローカルリポジトリの変更をリモートリポジトリにアップロードすることです。
スクリーンショット 2023-07-11 23.42.30.png

プル

pullは、リモートリポジトリの最新の変更をあなたのローカルリポジトリにダウンロードし、その変更を統合するために使用されます。
スクリーンショット 2023-07-11 23.43.26.png

実践

コマンドを使っての実践

まずはワークツリーとなる作業ディレクトリを用意します。
下記のコマンドでnew-repoという名前のディレクトリを作成し、そのディレクトリに移動をします

mkdir new-repo
cd new-repo

次にローカルリポジトリを作成しましょう
下記のコマンドでローカルリポジトリが作成されます。

git init

下記のようなメッセージが表示されたら成功です。

Initialized empty Git repository in /Users/kouhai/new-repo/.git/

では、次にhello.txtというファイルを作成して、そこに「Hello, Git」と書き込んでみましょう。

echo "Hello, Git" > hello.txt

ファイルを変更したのでこのファイルをリモートリポジトリに上げてみましょう。
まずはインデックスにファイルを追加します。

git add hello.txt

インデックスにファイルを追加したら次はコミットをします。
コミットをする時にはコミットメッセージというどんな内容をコミットしたかを表すメッセージをつける必要があります。
下記のコマンドの「Initial commit」の部分がコミットメッセージです。

git commit -m "Initial commit"

コミットが成功すると下記のようなメッセージが表示されます。

[main (root-commit) 1842a48] Initial commit
 1 file changed, 1 insertion(+)
 create mode 100644 hello.txt

GitHubにリモートリポジトリを作る

GitHubにリモートリポジトリを作ってみましょう。
GitHubにログインしてください。
スクリーンショット 2023-07-12 0.00.34.png
スクリーンショット 2023-07-12 0.00.11.png
スクリーンショット 2023-07-12 0.02.32.png
これでGitHub上にリモートリポジトリが作成されました。

リモートリポジトリにPUSHする

リモートリポジトリができたのでPUSHしてみましょう。
まずはローカルリポジトリとリモートリポジトリを紐付けします。

git remote add origin https://github.com/xxxxxx/test-repo.git

https://github.com/xxxxxx/test-repo.git」の部分が先ほどコピーしておいたGitのURLになります。
「origin」の部分はリモートリポジトリの名前です。任意の名前をつけられますが、originとするのが一般的なようです。

リモートリポジトリが追加できたらいよいよPUSHです。
下記のコマンドを実行してみましょう。

git push -u origin main

このコマンドは「originというリモートリポジトリのmainブランチにPUSHする」という意味です。
これが成功すると下記のようなメッセージが表示されるはずです。

Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 223 bytes | 223.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/xxxxxx/test-repo.git
 * [new branch]      main -> main
branch 'main' set up to track 'origin/main'.

スクリーンショット 2023-07-12 0.10.17.png

リモートリポジトリをクローンする

次に他人が作ったリモートリポジトリをコピーしてローカルリポジトリを作成(クローンすると言います)してみましょう。

git clone https://github.com/xxxxx/test-repo.git new-repo-clone

このコマンドは「https://github.com/xxxxx/test-repo.gitというリモートリポジトリをnew-repo-cloneディレクトリにクローンする」という意味です。

pullする

プルを実行する場合は下記のコマンドを実行してください

git pull 

VSCodeでの実践

VSCodeでもGitの操作ができますので操作方法を見て行きましょう。
スクリーンショット 2023-07-12 0.24.02.png
スクリーンショット 2023-07-12 0.24.24.png
スクリーンショット 2023-07-12 0.24.42.png
スクリーンショット 2023-07-12 0.25.08.png
スクリーンショット 2023-07-12 0.25.29.png
スクリーンショット 2023-07-12 0.26.22.png
スクリーンショット 2023-07-12 0.27.16.png
スクリーンショット 2023-07-12 0.27.47.png
スクリーンショット 2023-07-12 0.28.07.png
スクリーンショット 2023-07-12 0.28.24.png
スクリーンショット 2023-07-12 0.29.04.png
スクリーンショット 2023-07-12 0.29.48.png
スクリーンショット 2023-07-12 0.30.19.png
スクリーンショット 2023-07-12 0.30.40.png

SourceTreeでの実践

SourceTreeを使う場合の操作方法も見て行きましょう。
スクリーンショット 2023-07-12 0.32.33.png
スクリーンショット 2023-07-12 0.33.30.png
スクリーンショット 2023-07-12 0.33.53.png
スクリーンショット 2023-07-12 0.35.29.png
スクリーンショット 2023-07-12 0.36.01.png
スクリーンショット 2023-07-12 0.36.34.png
スクリーンショット 2023-07-12 0.36.55.png
スクリーンショット 2023-07-12 0.37.46.png
スクリーンショット 2023-07-12 0.38.36.png
スクリーンショット 2023-07-12 0.38.58.png
スクリーンショット 2023-07-12 0.39.24.png
スクリーンショット 2023-07-12 0.39.49.png
スクリーンショット 2023-07-12 0.40.14.png

pull/push/fetch

実践を通してpullとpushについて理解を深めたところでもう少し詳しくみていきましょう
pushは、ローカルリポジトリの変更をリモートリポジトリにアップロードするために使用されます。
pullは、リモートリポジトリの最新の変更をあなたのローカルリポジトリにダウンロードし、その変更を統合するために使用されます。
fetchは、リモートリポジトリの最新の情報をローカルリポジトリにダウンロードするために使用されます。
スクリーンショット 2023-07-12 0.41.55.png

gitignore

下記のようなファイルはGitで管理したくありません。
・環境変数が定義された設定ファイル
・パッケージ管理ソフトで管理されているパッケージ類
・ログファイル
それらのファイルはgitignoreファイルに記載することでGit管理から外すことができます。
スクリーンショット 2023-07-12 0.43.06.png

次回

第5話「ブランチの理解:作業の分岐点」へと続きます
https://qiita.com/sho_fcafe/items/fe3dc7b80e0622f61032

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?