gitのfetchとpullの違いについて

February 15,2019 12:03 AM
Category:[github]
Tag:[github]
Permalink

gitのfetchとpullの違いについて調べてみました。

1.ローカルブランチとトラッキングブランチ

fetchとpullの違いについて説明する前に、ローカルブランチとトラッキングブランチについて説明します。

gitのリポジトリには、

  • リモートリポジトリ
  • ローカルリポジトリ

の2つがあり、さらにローカルリポジトリには、

  • ローカルブランチ
  • トラッキングブランチ

の2つのブランチがあります。

トラッキングブランチはリモートブランチの変更に追従し、ローカルブランチとリモートブランチを結びつける役割を果たしています。

"origin/master"がトラッキングブランチに該当します。

図にまとめると次のようになります。

gitのリポジトリ構成

2.fetchとは

fetchは「トラッキングブランチの更新」です。

$ git fetch

を実行すると、更新されるのはトラッキングブランチのみです。

fetch

ローカルブランチにも変更を反映するにはmergeが必要です。

fetch

3.pullとは

pullは「トラッキングブランチの更新とローカルブランチのマージ」です。

$ git pull origin master

を実行すると、トラッキングブランチが更新され、ローカルブランチにマージされます。

fetch

まとめると、

  • fetch:トラッキングブランチの更新
  • pull:トラッキングブランチの更新とローカルブランチのmerge

ということですね。

Comments [0] | Trackbacks [0]

RPMをソースパッケージ(SRPM)からインストールする方法

February 11,2019 11:55 PM
Category:[Linux]
Tag:[Linux]
Permalink

RPMをソースパッケージ(SRPM)からインストールする方法を紹介します。

1.問題点

lvコマンドをLinuxにインストールしたいのですが、利用しているアーキテクチャのrpmパッケージが存在しません。

ということで、ソースパッケージからインストールする方法を紹介します。

2.RPMをソースパッケージ(SRPM)からインストールする

まず、ソースパッケージをダウンロードします。

今回利用したのはCentOS用の下記のパッケージです。

http://vault.centos.org/5.11/os/SRPMS/lv-4.51-8.1.src.rpm

ソースパッケージ(SRPM)からインストールするには、"rpmbuild"を利用します。

rpmbuildがインストールされていない場合は、yumでインストールします。

# sudo yum install rpm-build

rpmbuildコマンドでインストールを実行します。

# rpmbuild --rebuild lv-4.51-8.1.src.rpm

ちなみに初回は必要なパッケージが不足していて、下記のエラーになりました。

# rpmbuild  --rebuild lv-4.51-8.1.src.rpm
lv-4.51-8.1.src.rpm をインストール中です。
警告: lv-4.51-8.1.src.rpm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID e8562897: NOKEY
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
 :
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: 9 行目: buildprereq は非推奨: BuildPrereq:        libtermcap-devel autoconf
エラー: ビルド依存性の失敗:
        libtermcap-devel は lv-4.51-8.1.ppc64 に必要とされています
        autoconf は lv-4.51-8.1.ppc64 に必要とされています

メッセージにしたがって、不足しているlibtermcap-develとautoconfをそれぞれyumでインストールし、lvを再インストール。

# rpmbuild --rebuild lv-4.51-8.1.src.rpm
lv-4.51-8.1.src.rpm をインストール中です。
 :
(中略)
 :
書き込み完了: /root/rpmbuild/RPMS/ppc64/lv-4.51-8.1.ppc64.rpm
書き込み完了: /root/rpmbuild/RPMS/ppc64/lv-debuginfo-4.51-8.1.ppc64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.6dAl8M
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd lv451
+ rm -rf /root/rpmbuild/BUILDROOT/lv-4.51-8.1.ppc64
+ exit 0
実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.Y3IStn
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf lv451
+ exit 0

これで、

/root/rpmbuild/RPMS/ppc64/lv-4.51-8.1.ppc64.rpm

にRPMパッケージが配置されました。

あとはいつものrpmコマンドでインストールすればOKです。

# rpm -ivh /root/rpmbuild/RPMS/ppc64/lv-4.51-8.1.ppc64.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:lv-4.51-8.1                      ################################# [100%]

これでlvコマンドがインストールされました。

# lv
# lv v.4.51.a (Oct.30th,2005)
# All rights reserved. Copyright (C) 1996-2005 by NARITA Tomio
# ABSOLUTELY NO WARRANTY; for details type `lv -h'
Comments [0] | Trackbacks [0]

MovableTypeの記事データをコンテンツデータに変換する「EntryConverterプラグイン」

January 31,2019 11:55 PM
Category:[コンテンツデータ]
Tag:[EntryConverter, MovableType, Plugin]
Permalink

MovableTypeの記事データをコンテンツデータに変換する「EntryConverterプラグイン」を公開します。

記事データからコンテンツデータへの変換イメージ(クリックで拡大、以下同様)
変換の状況

1.機能

MovableType 7で登場したコンテンツデータですが、今後のメジャーバージョンアップで、MT6までの基本データであった「記事」「ウェブページ」が廃止され、コンテンツデータのみになる可能性があります。

本記事の「EntryConverterプラグイン」を導入することで、記事データ(カスタムフィールド含む)をコンテンツデータに変換することが可能です。これにより、今後のMTのメジャーバージョンアップにも柔軟に対応できるようになります。

本当にそうなるかどうかは分かりませんが、コンテンツデータに移行させることで再構築時間の改善が見込まれるかもしれません。

2.プラグインについて

プラグインの詳細については下記のURLをご覧ください。

EntryConverterプラグイン
EntryConverterプラグイン

以下、ざっくりですがインストールおよび動作を紹介致します。

3.インストール

ダウンロードアーカイブを展開した、中にある「EntryConverter」フォルダをMovable Typeのpluginsディレクトリにアップロードします。

アップロード後、システム管理画面の「設定」→「プラグイン」で「EntryConverter」が表示されていればインストール完了です。

システム管理画面

4.コンテンツデータに変換

下記のような記事データが3件あります。これを変換してみます。

変換の状況

左メニューの「ツール」→「記事からコンテンツデータへの変換」をクリック。

記事からコンテンツデータへの変換

変換画面が表示されるので「実行」をクリック。

CSVのエクスポート画面

データ変換の状況が表示されます。

変換の状況

コンテンツタイプに「Entry」が作成されます。

変換の状況

コンテンツデータに「Entry」が作成されます。

変換の状況

カテゴリデータもカテゴリセットに移行されます。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages