1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Git・GitHubでバージョン管理する方法

Last updated at Posted at 2023-12-20

Git・GitHubでバージョン管理する事前準備の手順

  • Git・GitHubでバージョン管理するための手順について、注意点も含めて記事にまとめておきます。

Git管理下に置くための事前準備の手順

  • 以下に手順を記述していきます。

GitHubで新しいリポジトリ(任意の名前)を作成する

  1. Githubにログインしてマイページに進みrepositoriesメニューに進む
  2. Newボタンから、リポジトリ新規作成画面Create a new repositoryに進む
  3. Repository nameの箇所に(任意のリポジトリ名)を入力する
  4. Add README.mdにチェックして、READMEを自動生成させる。(※後に、mainブランチの作成などを勝手に行ってくれるので便利)
  5. その他の設定は特にいじらなくてもOK(外部公開したくない場合はprivateを選択)
  6. Create repositoryボタンでリポジトリ作成完了

作成したリモートリポジトリを任意のディレクトリ直下にgit cloneする

  1. Githubで作成したリポジトリをGit管理するために、まずはcloneしてローカルに落としていきます。
  2. Githubで作成したリポジトリの画面にて、Quick setup — if you’ve done this kind of thing beforeという項目にある、SSHボタンを選択します。
  3. おそらくgit@github.com~~から始まるユーザー名・リポジトリ名が記載されたコードが表示されるので、そのコードをコピーします。
  4. 次に、以下のコマンドを順番に実行することで自身の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
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?