- 投稿日:2019-10-12T22:06:15+09:00
GitとGit Hub 入門(2/3)
前の記事はこちら
Gitの基本的な操作を学ぼう
用語
ステージング
コミットに含めるファイルやディレクトリの変更内容を記録するところ
コミット
前回コミット時の状態とステージングに登録されたファイルやディレクトリの差分(追加・変更・削除)を、リポジトリに記録する
プッシュ
リモートリポジトリに対して、ローカルリポジトリでコミットした変更内容を反映する
プル
ローカルリポジトリに対して、リモートリポジトリに行われた変更内容を反映する
ブランチ
リポジトリの分岐。デフォルトではmasterブランチのみ存在するが、ソースコードを修正するときにはmasterブランチをコピーして他の修正用ブランチを作成し、修正用ブランチでの変更が完了したらmasterブランチに変更内容をマージする。こうすることで、複数人での変更作業が可能になる。
基本的なステップ
- コミットするファイルを選んでステージングに追加する。
- ステージングに登録された変更内容をコメントをつけてコミットする。
- ローカルリポジトリにコミットされた内容をリモートリポジトリにプッシュする。
ファイルの作成
では、実際にローカルポジトリで変更管理してみましょう。まずは、ローカルリポジトリでファイルを作成します。
$ touch test1 $ touch test2 $ ls -l total 0 -rw-r--r-- 1 hoge staff 0 10 12 18:09 test1 -rw-r--r-- 1 hoge staff 0 10 12 18:09 test22ファイル作成できましたね。
ファイルをステージングに追加
次に、
git status
というコマンドを実行してみましょう。$ git status On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) test1 test2 nothing added to commit but untracked files present (use "git add" to track)Untracked files に、先ほど作成したファイルがありますね。
ちなみに、On branch master
というのは、今はローカルリポジトリのmasterブランチで作業していますよ、ということです。では、
test1
のファイルだけをコミットするためにgit add
でステージングに追加しましょう。$ git add test1 $ $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: test1 Untracked files: (use "git add <file>..." to include in what will be committed) test2test1ファイルのみがステージングに登録されました。
ファイルのコミット
では、続いて
test1
のファイルをコミットします。$ git commit -m "first commit" [master (root-commit) 71380d5] first commit 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test1]
git status
で確認すると、test1
はコミットしたのでステージングからなくなりました。$ git status On branch master Untracked files: (use "git add <file>..." to include in what will be committed) test2 nothing added to commit but untracked files present (use "git add" to track)
git log
でコミットログが確認できます。$ git log commit 71380d52bbb6b7e0cd649748b1d75ea0b39f71eb (HEAD -> master) Author: hoge <hoge@email.com> Date: Sat Oct 12 19:01:50 2019 +0900 first commitリモートリポジトリにプッシュ
いよいよ、ローカルリポジトリにコミットした内容をリモートリポジトリにプッシュして反映させます。
次のコマンドで、originというリモートリポジトリのmasterブランチにプッシュします。$ git push origin master Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 206 bytes | 206.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/hoge/sample.git * [new branch] master -> masterリモートリポジトリに、ローカルリポジトリの変更が反映されました。
リモートリポジトリからプル
次に、リモートリポジトリの変更内容をローカルリポジトリに反映します。
まず、リモートリポジトリのGit HubでREADMEファイルを追加しましょう。
READMEに適当な内容を入力し、「Commit new file」ボタンをクリックします。
READMEには、マークダウンが使用できます。では、リモートリポジトリの変更(READMEの追加)をローカルリポジトリ側に反映させます。
次のコマンドで、originというリモートリポジトリのmasterブランチからプルします。$ git pull origin master remote: Enumerating objects: 4, done. remote: Counting objects: 100% (4/4), done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From https://github.com/hoge/sample * branch master -> FETCH_HEAD f733bfe..7022b44 master -> origin/master Updating f733bfe..7022b44 Fast-forward README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 README.mdREADMEファイルがローカルリポジトリに追加されましたね。
$ ls -l -rw-r--r-- 1 hoge staff 38 10 12 22:17 README.md -rw-r--r-- 1 hoge staff 0 10 12 19:13 test1 -rw-r--r-- 1 hoge staff 0 10 12 19:13 test2続きはこちら
- 投稿日:2019-10-12T22:02:40+09:00
GitとGit Hub 入門(1/3)
Gitとは
ソースコードのバージョン管理を行うためのソフトウェアです。複数人でシステム開発するときには、ソースコードの変更管理は必須です。変更管理しないと、どのソースコードが最新なのか、どんな変更が入っているのか分からなくなって大変です。
そんな変更管理を簡単にできる仕組みがGitです。Gitでは「リポジトリ」という保管場所を作成し、その配下にファイルやディレクトリを置くことによって、配置されたディレクトリやファイルの変更履歴を記録することができます。
あのLinuxの創始者であるLinusさんが開発したそうです。また、現在のメンテナはなんと日本人で、濱野純さん(こんな方)。
Git Hubとは
Gitを世に知らしめたウェブサービス。GitHub社が運営。1
クラウド上でGitの「リモートリポジトリ」(後述)を提供することにより、地理的に離れた場所でも一緒に開発することが可能になりました。他のGitのホスティングサービス
実はGitを使えるサービスは他にも存在し、Attlasian社のBitbucket、クラウドではなく自社サーバーでGitの環境を構築できるGitLabなどもあります。2
GitとGitHubを使ってできること
自分のPCにGitで「ローカルリポジトリ」を作成し、ソースコードの変更を管理します。
Git Hubに作成するリポジトリは「リモートリポジトリ」と呼び、ローカルリポジトリからリモートリポジトリにソースコードをアップロードすることで他の人にソースコードを共有することができます。
Gitのインストールと初期設定
それではまず、Gitの方から設定していきましょう。
環境
Mac
最初からインストールされているはずですので
下記のコマンドでバージョンが表示されることを確認しましょう。$ git --version最初にやること
プロフィールを設定します。(Git Hubで公開されても問題ない内容にすること)
--global
オプションは、~/.gitconfigを変更するのに必須のオプション。3$ git config --global user.name "your name" $ git config --global user.email "your@email"設定ファイルが更新されます。
~/.gitconfig[user] email = your@email name = your nameコマンド出力を色をつけて見やすくしましょう。
$ git config --global color.ui auto設定ファイルが更新されます。
~/.gitconfig[user] email = your@email name = your name [color] ui = autoGit Hubの設定
Git Hubでアカウントを作成しましょう。
アカウントにログインできたら、リモートリポジトリを作成します。
Gitでローカルリポジトリを作成する
Macで、先ほどGit Hubで作成したリポジトリ名と同じ名前のディレクトリを作成して、そのディレクトリ内で
git init
を実行します。$ mkdir sample $ cd sample $ git init
git init
を実行すると、.git
ディレクトリが作成されます。
ls -la
で.
(ドット)から始まる隠しディレクトリも表示できます。$ ls -la drwxr-xr-x 3 hoge staff 96 10 12 14:08 . drwxr-xr-x 17 hoge staff 544 10 12 14:06 .. drwxr-xr-x 9 hoge staff 288 10 12 14:44 .gitリモートリポジトリの設定
ローカルリポジトリの設定に、接続先のリモートリポジトリを設定します。
まずは、リモートリポジトリのURLをコピーします。先ほど作成したローカルリポジトリ内で、次のコマンドを実行します。
git remote add origin
の後ろにリモートリポジトリのURLを入力します。
origin
とはデフォルトのリモートリポジトリのことです。(他の名前で登録することも可能ですがorigin
とするのが慣習です。)$ git remote add origin https://github.com/hoge/sample.git
.gitディレクトリ配下にあるconfigファイルにリモートリポジトリのoriginリポジトリの設定が追加されています。
ローカルリポジトリ/.git/config[remote "origin"] url = https://github.com/hoge/sample.git fetch = +refs/heads/*:refs/remotes/origin/*続きはこちら
- 投稿日:2019-10-12T11:08:33+09:00
macでGitHubからレポジトリをクローンできない時の対処法
- 投稿日:2019-10-12T02:31:28+09:00
WordPressをGit管理する方法
概要
WordPressのコードをgitで管理することになったためそのメモ。
WordPressはpluginや作成したコンテンツなどGitで管理するのに適さないデータが大量にあります。Gitで管理するべきものはテーマファイルだけだと思うので、今回は自作テーマ(既存テーマをカスタマイズする場合も同様)を管理する場合の手順メモです。
WordPressのあるプロジェクトに移動。
cd /var/www/wordpressgitのリポジトリを作る。
git init
.gitignore
に対象のテーマファイルのみを管理するように記述する。* !.gitignore !/wp-content/themes/{mytheme} # {mytheme}にはテーマ名を入れるおまけ
pluginや作成したコンテンツの管理について、個人的にはSnapUpが管理が楽でおすすめです。WordPressのスナップショットやstg環境も簡単に作成できます。