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