「インストール - Git」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
60行目: 60行目:
パスが通っているか確認する。<br>
パスが通っているか確認する。<br>
  git --version  
  git --version  
<br><br>
== Gitで秘密鍵を指定してリモートリポジトリを操作する ==
Githubやbitbucketを併用している場合は、~/.ssh/configにドメイン毎にどの鍵を使用するか指定するのが一般的である。<br>
しかし、Githubをマルチアカウントで運用するような場合は、ドメインが同じなのでこの方法はできない。<br>
そこで、リモートリポジトリを操作する時にどの鍵を使用するか任意で指定できる方法を記載する。<br>
<br>
===== Gitのバージョンを確認 =====
この方法は、Git 2.3以降から使用できるので、インストールされているGitのバージョンを確認する。<br>
git --version
<br>
===== リモートリポジトリ操作時に鍵を指定する =====
リモートリポジトリを操作する時に鍵を任意で指定するコマンドは、GIT_SSH_COMMANDという環境変数を使用する。<br>
GIT_SSH_COMMAND='ssh -i 秘密鍵のパス' gitコマンド
<br>
例えば、git cloneの場合は以下となる。<br>
GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa_01' git clone リモートリポジトリ
<br>
また、git pushの場合は以下となる。<br>
GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa_01' git push origin master
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:CentOS]]
[[カテゴリ:CentOS]]

2020年1月26日 (日) 06:55時点における版

概要

aptやyum等のLinuxのパッケージマネージャーでインストールしたGitはバージョンが古いことが多い。

パッケージ一覧を返すコマンド(yum list installedまたはrpm -qa)を使用して、
文字列検索するgrepコマンドにパイプで渡すことで探したいパッケージ名の一覧を得ることができる。

Gitのバージョンが古くても最低限のことは問題ないが、Git2.8以降では、user.useConfigOnly という設定が追加され、
これを有効にすることで、ユーザ名やメールアドレスを設定していない時に環境変数を使用して勝手にユーザ情報を参照してしまうことを防ぐことができる。


既存のGitをアンインストール

既にパッケージマネージャーでGitをインストールしている場合は、
以下のコマンドを入力してアンインストールする。

sudo yum remove git



Git依存のライブラリをインストール

まず、以下コマンドを実行し、Gitの依存ライブラリをインストールする。

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker



ソースコードをダウンロード

以下のGitHubのWebサイトにアクセスして、最新のGitのソースコードをダウンロードする。
https://github.com/git/git/releases

cd /usr/local/src
sudo wget https://github.com/git/git/archive/v2.25.0.tar.gz



コンパイルしてインストール

ダウンロードしたGitのソースコードを展開して、展開されたディレクトリに移動する。

sudo tar zxvf git-2.25.0.tar.gz
cd git-2.25.0

その後、以下のコマンドを入力してコンパイルおよびインストールする。

sudo make prefix=/usr/local all
sudo make prefix=/usr/local install



確認

以下のコマンドを入力して、インストールしたGitのバージョンを確認する。

git –-version



備考

gitコマンドが使用できない場合

インストール後、バージョン確認で"そのようなファイルやディレクトリはありません"と表示された場合の対応について記載する。

git --version

# 結果
-bash: /usr/bin/git: そのようなファイルやディレクトリはありません


以下のコマンドを実行して、パスが通っているか確認する。

which git

# 例 (gitのディレクトリが、/usr/local/bin/gitになっている場合)
/usr/local/bin/git


シンボリックリンクを設定する。

sudo ln -s /usr/local/bin/git /usr/bin/git


パスが通っているか確認する。

git --version 



Gitで秘密鍵を指定してリモートリポジトリを操作する

Githubやbitbucketを併用している場合は、~/.ssh/configにドメイン毎にどの鍵を使用するか指定するのが一般的である。
しかし、Githubをマルチアカウントで運用するような場合は、ドメインが同じなのでこの方法はできない。
そこで、リモートリポジトリを操作する時にどの鍵を使用するか任意で指定できる方法を記載する。

Gitのバージョンを確認

この方法は、Git 2.3以降から使用できるので、インストールされているGitのバージョンを確認する。

git --version


リモートリポジトリ操作時に鍵を指定する

リモートリポジトリを操作する時に鍵を任意で指定するコマンドは、GIT_SSH_COMMANDという環境変数を使用する。

GIT_SSH_COMMAND='ssh -i 秘密鍵のパス' gitコマンド


例えば、git cloneの場合は以下となる。

GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa_01' git clone リモートリポジトリ


また、git pushの場合は以下となる。

GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa_01' git push origin master