Git・GitHubでバージョン管理する事前準備の手順
- Git・GitHubでバージョン管理するための手順について、注意点も含めて記事にまとめておきます。
Git管理下に置くための事前準備の手順
- 以下に手順を記述していきます。
GitHubで新しいリポジトリ(任意の名前)を作成する
- Githubにログインしてマイページに進み
repositoriesメニューに進む -
Newボタンから、リポジトリ新規作成画面Create a new repositoryに進む -
Repository nameの箇所に(任意のリポジトリ名)を入力する -
Add README.mdにチェックして、READMEを自動生成させる。(※後に、mainブランチの作成などを勝手に行ってくれるので便利) - その他の設定は特にいじらなくてもOK(外部公開したくない場合は
privateを選択) -
Create repositoryボタンでリポジトリ作成完了
作成したリモートリポジトリを任意のディレクトリ直下にgit cloneする
- Githubで作成したリポジトリをGit管理するために、まずはcloneしてローカルに落としていきます。
- Githubで作成したリポジトリの画面にて、
Quick setup — if you’ve done this kind of thing beforeという項目にある、SSHボタンを選択します。 - おそらく
git@github.com~~から始まるユーザー名・リポジトリ名が記載されたコードが表示されるので、そのコードをコピーします。 - 次に、以下のコマンドを順番に実行することで自身のPCローカルリポジトリにcloneしてくることができます。
$ cd クローンしたいディレクトリ名
$ git clone git@github.com:[ユーザー名]/[リポジトリ名].git
$ cd リポジトリ名
※ git clone はGithubからクローンするGitコマンドです。
※ クローンしたらcdコマンドで対象のディレクトリに移動します。
※ git init はGitコマンドの一つで、新たにリポジトリを作成するときに使います。これは、リモートリポジトリではなく、ローカルリポジトリを先に作成するときにおそらく使うコマンド、、、なのかな?
※ 普段、自分はGitHub上でリモートリポジトリから先に作成してcloneするという手順をとっているので、このgit initコマンドはあまり使ったことがない。
※ git initコマンドを実行すると、現在のディレクトリに.gitというディレクトリが作成され、その中にGitのリポジトリに必要なデータ構造が作られます。
※ つまり、git initを実行することで、このリポジトリがGit管理となることを意味します。
なお、git cloneをした段階で、以下のようなファイルが構成されました。
$ tree -aコマンドを実行
.
├── .DS_Store
└── .git
├── HEAD
├── config
├── description
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── fsmonitor-watchman.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── pre-merge-commit.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ ├── pre-receive.sample
│ ├── prepare-commit-msg.sample
│ ├── push-to-checkout.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── .DS_Store
├── heads
└── tags
※ 今回、私の場合は、$ git initを実行した際、このような表示が出ました。
Reinitialized existing Git repository in /***/*****/dotfiles/.git/
リポジトリを再初期化したという意味のようで、ドキッとしましたが、特にファイルの中身が変わった様子ではなかったです。git cloneした時点で初期化は済んでいて、git initは今回は不要だったのかな、、、?
【注意】空のディレクトリはコミット・プッシュできない
空のディレクトリはコミット・プッシュできない
なので、隠しファイルで.gitkeepファイルを作っておく。
今回は簡単に.gitkeepファイルを各種フォルダに作っておいた。
git status -uで確認してみると、、、、
$ git status -u
On branch create_site
Your branch is up to date with 'origin/create_site'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
assets/css/.gitkeep
assets/images/.gitkeep
assets/js/.gitkeep
assets/videos/.gitkeep
- これで、空のフォルダでもGit管理、コミット・プッシュができるようになる。
- これをなしにしてしまうと、、git pull origin mainした時に、空のフォルダが反映されず、、、。
- ローカルにマージされてしまう可能性があるので注意。
- 上記対応を行ったので、再度コミットしておく。
- 他にもコミットから除外するファイルを指定する
.gitignoreファイルも作成しておきます。
開発用ブランチを作成
$ git checkout -b dev
コミットに反映させたくないファイル指定する.gitignoreファイルを作成
$ touch .gitignore
$コミットから除外するファイル名を記述
# ~/.ignore
# Mac
.DS_Store
$ git add .
$ git status
$ git commit -m "【Add】空のフォルダにgitkeepを追加"
$ git push
$ git log
$ プルリクエスト〜マージ
$ git checkout main
$ git branch
$ git pull origin main