こんにちは!ともわん(@TomoOne4)です。
今回は、Git管理をするための、「Gitのローカルリポジトリ作成方法」について取り上げていきます。すぐに誰でもGit管理ができるようになります!
☆Gitのローカルリポジトリの作成には、3つの方法がある
1.git init コマンドで作成する方法(Gitのローカルリポジトリから作成)
2.git init コマンドで作成する方法(既存のディレクトリをGitのローカルリポジトリにする)
3.GitHubからforkしてきて作成する
3番に関しては、以下のリンクで取り上げ済みですのでこちらも御覧ください。
まずは、Gitのローカルリポジトリについて簡単に復習してみます。
Gitはソースコードのバージョン管理システムの一つですが、その仕組みとして、ネットワーク上に全てのファイルなどを管理している場所であるリモートリポジトリと、各メンバーのPC上などにある、自分がファイルなどを管理するためのローカルリポジトリがあります。
なにかのプロジェクトで、開発をしていくとなった際には、該当メンバーが、以下のような流れを取ります。(リモートリポジトリとしてGitHubを使っている場合)
- 共有しているリモートリポジトリから一度最新のソースコードをローカルリポジトリに取得(git clone)
↓
【ローカルリポジトリでの作業】 - ローカルリポジトリにて、開発(ソースコード変更)
※Working directoryというところで編集
↓ - ローカルリポジトリにて、開発したソースコードをStaging Areaに移動(git add <ファイル名>)
↓ - ローカルリポジトリにて、Staging Areaにあるソースコードをローカルリポジトリの場所に移動(git commit -m <コミットメッセージ>)
↓
【リモートリポジトリ(GitHub)での作業】 - 自分が開発中に、リモートリポジトリの変更がある可能性があるため、一度現状のリモートリポジトリの内容をローカルリポジトリに反映(git pull origin main)
↓ - ローカルリポジトリの自分の更新を、リモートリポジトリ(GitHub)に反映(git push origin main)
↓ - git push した内容を、該当のGitHubのリモートリポジトリページで確認(ブラウザで)
↓ - git pushしたブランチを開発のメインになるmainブランチにマージ(統合)させるために、プルリクエストを作成し、評価者やリーダーなどにマージしてもらう(ブラウザで)※ブランチの扱いなどは割愛しました。
書いてみると、結構長いように思いますよね。
しかも、実際の現場では、ソースコードのコンフリクト(別の人が自分と同じファイルを編集していたため、Gitがどちらが正しい編集かわからなくなってしまう)が起こることもあります。
詳細は、今まで僕が書いてきた記事もご覧ください。画像やコマンド付きで書いています。
さて、前置きは長くなってしまいましたが、今回は、そんなGit管理の最初のほうにある、Gitのローカルリポジトリを作るというところをやっていきます。
作り方は、先程も説明した3パターンあります。
1.git init コマンドで作成する方法(Gitのローカルリポジトリから作成)
2.git init コマンドで作成する方法(既存のディレクトリをGitのローカルリポジトリにする)
3.GitHubからforkしてきて作成する
3番に関しては、以下のリンクで取り上げ済み
1.git init コマンドで作成する方法(Gitのローカルリポジトリから作成)
まずは、全く新しくGitのローカルリポジトリを作成する方法です。
Desktopディレクトリに作成する場合はこんな感じです。
~/Desktop ❯ git init omikuji-project
Initialized empty Git repository in /Users/tomoone/Desktop/omikuji-project/.git/
~/Desktop ❯ cd omikuji-project
~/Desktop/omikuji-project master ❯ ll -a
total 0
drwxr-xr-x@ 3 tomoone staff 96B Mar 18 00:21 .
drwx------@ 36 tomoone staff 1.1K Mar 18 00:21 ..
drwxr-xr-x@ 9 tomoone staff 288B Mar 18 00:21 .git
.gitファイルはGitの設定ファイルのようなものです。
先頭に.(ドット)がついているため、隠しファイルと呼ばれるもので、
コマンドで確認する場合は、ll -a や、ls -la など、-a(すべて)のオプションをつけて見てみましょう。
これで終わりです。
簡単ですよね!
一応、ファイルを作成して、コミットまでやってみます。
# ファイルを新しく作成、編集
~/Desktop/omikuji-project master ❯ vi newfile.txt
~/De/omikuji-project master ?1 ❯ ll
total 8
-rw-r--r-- 1 tomoone staff 8B Mar 18 00:22 newfile.txt
# git statusでgitの状況を確認
~/De/omikuji-project master ?1 ❯ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
nothing added to commit but untracked files present (use "git add" to track)
# git addでStaging Areaに追加
~/De/omikuji-project master ?1 ❯ git add newfile.txt
~/De/omikuji-project master +1 ❯ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: newfile.txt
~/De/omikuji-project master +1 ❯ git commit -m "add new file"
[master (root-commit) 3e30se7] add new file
1 file changed, 1 insertion(+)
create mode 100644 newfile.txt
~/Desktop/omikuji-project master ❯ git status
On branch master
nothing to commit, working tree clean
~/Desktop/omikuji-project master ❯ git log
commit 3e30fc731660f08fa22e0a536580f3ba4 (HEAD -> master)
Author: TomoOne <example@gmail.com>
Date: Thu Mar 18 00:23:25 2021 +0900
add new file
2.git init コマンドで作成する方法(既存のディレクトリをGitのローカルリポジトリにする)
次に、すでに存在するディレクトリをGitのローカルをにする方法です。
これは、1番の方法とほぼ同じです。
これで、該当ディレクトリに.gitファイルが生成されて、Git管理が出来るようになります。
例えば、以下のようにやってみます。
- 1番の方法で作成したディレクトリの.gitファイルを削除(これで、Git管理(Gitのローカルリポジトリではなくなります))
- Git管理ではなくなったomikuji-projectディレクトリで git init
- すでに、omikuji-projectディレクトリに存在しているファイルを新たに git addする
# omikuji-projectディレクトリから、.gitファイルを削除
~/Desktop/omikuji-project master ❯ rm -rf .git
~/Desktop/omikuji-project ❯ ll -a
total 8
drwxr-xr-x@ 3 tomoone staff 96B Mar 18 00:23 .
drwx------@ 36 tomoone staff 1.1K Mar 18 00:23 ..
-rw-r--r-- 1 tomoone staff 8B Mar 18 00:22 newfile.txt
~/Desktop/omikuji-project ❯ git init
Initialized empty Git repository in /Users/tomoone/Desktop/omikuji-project/.git/
~/Desktop/omikuji-project master ?1 ❯ ll -a
total 8
drwxr-xr-x@ 4 tomoyahokari staff 128B Mar 18 00:33 .
drwx------@ 36 tomoyahokari staff 1.1K Mar 18 00:33 ..
drwxr-xr-x@ 9 tomoyahokari staff 288B Mar 18 00:33 .git
-rw-r--r-- 1 tomoyahokari staff 8B Mar 18 00:22 newfile.txt
# gitの状態を確認
~/Desktop/omikuji-project master ?1 ❯ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
nothing added to commit but untracked files present (use "git add" to track)
~/Desktop/omikuji-project master ?1 ❯ git add .
~/Desktop/omikuji-project master +1 ❯ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: newfile.txt
~/Desktop/omikuji-project master +1 ❯ git commit -m "initial commit"
[master (root-commit) d053da5] initial commit
1 file changed, 1 insertion(+)
create mode 100644 newfile.txt
~/Desktop/omikuji-project master ❯ git status
On branch master
nothing to commit, working tree clean
~/Desktop/omikuji-project master ❯ git log
commit d053da59af3b75fdc5220b7afbb7badddf6fe884 (HEAD -> master)
Author: TomoOne <example@gmail.com>
Date: Thu Mar 18 00:34:37 2021 +0900
initial commit
3.GitHubからforkしてきて作成する
最後は、GitHubに作成されているリモートリポジトリからforkという作業を行って自分のローカルリポジトリを作成する方法です。
これについては、この記事で方法を記載しているため、こちらを御覧ください。
すぐに出来る方法です。
最後に:Gitの理解をしていくことは、今後のITにおいてとても重要
いかがでしたでしょうか。
Gitのローカルリポジトリを作成する方法について説明してきました。
どの方法も、そこまで込み入ったことはしておらず、git init コマンドを使ったり、GitHubからforkしてきたりと、シンプルな操作でローカルリポジトリというのは作成できてしまいます。
この方法を知っておき、開発を実際に行ったり、開発者とのやり取りを円滑にしたりすることで今後の私たちの仕事やプライベートでも活用できると思っています。
参考になりましたら嬉しいです(^^)
参考資料
Gitについては、Udemy のこちらの講座を使っています。毎回、このかめ れおんさんの動画にはお世話になっています!