20191012のGitに関する記事は4件です。

GitとGit Hub 入門(2/3)

前の記事はこちら

GitとGit Hub 入門(1/3)

Gitの基本的な操作を学ぼう

用語

ステージング

コミットに含めるファイルやディレクトリの変更内容を記録するところ

コミット

前回コミット時の状態とステージングに登録されたファイルやディレクトリの差分(追加・変更・削除)を、リポジトリに記録する

プッシュ

リモートリポジトリに対して、ローカルリポジトリでコミットした変更内容を反映する

プル

ローカルリポジトリに対して、リモートリポジトリに行われた変更内容を反映する

ブランチ

リポジトリの分岐。デフォルトではmasterブランチのみ存在するが、ソースコードを修正するときにはmasterブランチをコピーして他の修正用ブランチを作成し、修正用ブランチでの変更が完了したらmasterブランチに変更内容をマージする。こうすることで、複数人での変更作業が可能になる。

基本的なステップ

  1. コミットするファイルを選んでステージングに追加する。
  2. ステージングに登録された変更内容をコメントをつけてコミットする。
  3. ローカルリポジトリにコミットされた内容をリモートリポジトリにプッシュする。

ファイルの作成

では、実際にローカルポジトリで変更管理してみましょう。まずは、ローカルリポジトリでファイルを作成します。

$ 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 test2

2ファイル作成できましたね。

ファイルをステージングに追加

次に、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)

    test2

test1ファイルのみがステージングに登録されました。

ファイルのコミット

では、続いて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

リモートリポジトリに、ローカルリポジトリの変更が反映されました。
sample__sample_for_remote_repository.png

リモートリポジトリからプル

次に、リモートリポジトリの変更内容をローカルリポジトリに反映します。

まず、リモートリポジトリのGit HubでREADMEファイルを追加しましょう。

maru-e_sample__sample_for_remote_repository.png
New_File.png

READMEに適当な内容を入力し、「Commit new file」ボタンをクリックします。
READMEには、マークダウンが使用できます。

New_File2.png

Git HubにREADMEが追加されました。
New_File3.png

では、リモートリポジトリの変更(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.md

READMEファイルがローカルリポジトリに追加されましたね。

$ 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

続きはこちら

GitとGit Hub 入門(3/3)

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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に作成するリポジトリは「リモートリポジトリ」と呼び、ローカルリポジトリからリモートリポジトリにソースコードをアップロードすることで他の人にソースコードを共有することができます。
Untitled Diagram (15).png

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 = auto

Git Hubの設定

Git Hubでアカウントを作成しましょう。

https://github.com/

アカウントにログインできたら、リモートリポジトリを作成します。

GitHub_1.png

リポジトリ名などを設定していきます。
Create_a_New_Repository.png

作成できました。
sample.png

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をコピーします。

sample2.png

先ほど作成したローカルリポジトリ内で、次のコマンドを実行します。
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/*

続きはこちら

GitとGit Hub 入門(2/3)
GitとGit Hub 入門(3/3)


  1. 2018年にマイクロソフト社がGitHub社を買収したが、独立企業として維持されているとのこと。 

  2. 参考になるサイト 

  3. gitの設定ファイルはいくつかあって、git configのオプションで何のファイルを変更するかが変わります。例えば、--systemオプションをつけると/etc/gitconfig(システム上の全ユーザーの設定ファイル)を変更します。 

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

macでGitHubからレポジトリをクローンできない時の対処法

症状

macOSでGitHub Desktopでレポジトリをクローンしようとすると

Cloning into '/Users/XXX/XXX'…  
fatal: unable to access 'https://github.com/XXX/XXX': LibreSSL SSL_connect:  
SSL_ERROR_SYSCALL in connection to github.com:433

と表示されてクローンできない。

参照

https://entotsu44.hatenablog.com/entry/2019/10/12/063000

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

WordPressをGit管理する方法

概要

WordPressのコードをgitで管理することになったためそのメモ。

WordPressはpluginや作成したコンテンツなどGitで管理するのに適さないデータが大量にあります。Gitで管理するべきものはテーマファイルだけだと思うので、今回は自作テーマ(既存テーマをカスタマイズする場合も同様)を管理する場合の手順メモです。

WordPressのあるプロジェクトに移動。

cd /var/www/wordpress

gitのリポジトリを作る。

git init

.gitignore に対象のテーマファイルのみを管理するように記述する。

*
!.gitignore
!/wp-content/themes/{mytheme} 
# {mytheme}にはテーマ名を入れる

おまけ

pluginや作成したコンテンツの管理について、個人的にはSnapUpが管理が楽でおすすめです。WordPressのスナップショットやstg環境も簡単に作成できます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む