変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

GIT

[Windows11]gitインスト

残念ながらStoreには無いので、公式のDownloadボタンでexeファイルをダウンンロード。

ここからは長い。基本Nextボタンで進めるが、

GitのエディタをVisualStudio Codeに変更する。

新規リポジトリ作成時のブランチの名前は手入力に変更する。

他への影響を抑えつつPowerShellからもgitを使えるようオプションを選択する。

シンボリックリンクも使えるオプションを追加で選択する。

で、インスト開始。

これでスタートの全てのアプリで見れるハズ。

このGit BashでGitでのデフォルトのアカウントを設定しておく。

git config --global user.name "ユーザー名"



[git]コマンド

多分、こんな感じかな

  1. 参照系
    1. git clone ${リポジトリィ}
      • カレント・ディレクトリィにドコかのリポジトリィをコピる。
    1. git pull
      • リモートリポジトリの最新状態に更新
  2. 更新系
    1. とりあえずクローンする
    2. git checkout ${ブランチ}
      • 新たなブランチで履歴を作る時は、-b ${新しいブランチ} を使う
      • 既存のブランチでも、初回は git fetch ${ブランチ} で情報の取得が必要
    3. git add ${ファイル名}
      • コミット対象ファイルに追加
    4. git rm ${ファイル名}
      • コミット対象ファイルから削除
    5. git mv ${ファイル名}
      • コミット対象ファイル名の変更
    6. git commit -m ${メッセージ}
    7. git push origin ${ブランチ}
  3. 管理
    1. git init
      • カレント・ディレクトリィにリポジトリィを作る。
    2. git branch ${ブランチ}
      • ブランチを作る
      • ブランチを削除する時は -d ${ブランチ}

な感じで使えばいいかな



[RadyNAS212]node.js再び

OS入れなおしたのでnode.jsやgitの環境が消えてしまった。

やり直すのがメンドクサイ。

  1. gitインスト
  2. gccビルド
  3. gccの共有ライブラリィの設定(arm-gcc-9.2.9.conf作成)
  4. opensslビルド
  5. python3ビルド
  6. node.js

の順でいいはず。

しかしバージョンが上がる度に何かが可笑しくなるのはいつものこと

nginXを入れてWANからは80でLANからは80以外のポートでWordPressを動かすのも悪くないかな

  • PHP 7.3 以上
  • MySQL 5.6 以上または MariaDB 10.1 以上

の条件が厳しいからphpenvとphp-frmでnginx実行時のみ最新のphpを動かせばいいかも

# php -v
PHP 5.6.40-0+deb8u12 (cli) (built: Jun 28 2020 13:19:50)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
# mysql --version
mysql  Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (armv7l) using readline 6.3
# mysqladmin --version
mysqladmin  Ver 8.42 Distrib 5.5.62, for debian-linux-gnu on armv7l



[GIT]インストール

インストールしてみた。

$ sudo apt-get install git-all
$ git --version
git version 2.1.4
$ git config --global user.name "xxxx yyy zzzzzzz"
$ git config --global user.email xxxx@yyyy.zzz
$ git config --list
user.name=xxxx yyy zzzzzzz
user.email=xxxx@yyyy.zzz
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
$ mkdir /home/*****/www.git
$ cd /home/*****/www.git
$ git init --bare --shared

作業フォルダを作り、ベアと連携

$ mkdir <ソースのプロジェクトのフォルダ>
$ cd <ソースのプロジェクトのフォルダ>
$ git init
Initialized empty Git repository in /home/*****/*****/.git/
$ git clone /home/*****/www.git

コードを入れ、管理対象を追加。

$ git add *
$ git commit -m 'init'
いっぱい流れる

コピってみる。

$ mkdir /home/*****/test
$ cd /home/*****/aaa
$ git clone /home/*****/www.git 

WindowsのPCにもコピってみる。
Git-2.27.0-64-bit.exeを初期設定で【Next >】ボタンを押してインストールすると何故か?コマンドラインから使えないので、コンポーネントは全振りにする。

適当なフォルダを作って、cloneすると

C:\適当なフォルダ>git clone {ユーザ名}@{ホスト名}:{ベアなリポジトリィのフルパス}
Cloning into 'www'...
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:*********************************************.
Please contact your system administrator.
Add correct host key in /c/Users/****/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /c/Users/****/.ssh/known_hosts:1
ECDSA host key for {ホスト名} has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

(;゚Д゚)オレシラナイ と云うので観なかったことにする。

ssh-keygen -R {ホスト名}
C:\適当なフォルダ>git clone {ユーザ名}@{ホスト名}:{ベアなリポジトリィのフルパス}
Cloning into 'www'...
The authenticity of host '{ホスト名} ({ホスト名})' can't be established.
ECDSA key fingerprint is SHA256:*********************************************.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '{ホスト名}' (ECDSA) to the list of known hosts.
{ユーザ名}@{ホスト名}'s password:{パスワードを入れる}
remote: Counting objects: 2148, done.
remote: Compressing objects: 100% (1663/1663), done.
remote: Total 2148 (delta 376), reused 2148 (delta 376)
Receiving objects: 100% (2148/2148), 20.27 MiB | 39.77 MiB/s, done.
Resolving deltas: 100% (376/376), done.
Updating files: 100% (2611/2611), done.

見てみると

C:\適当なフォルダ>dir
 ドライブ C のボリューム ラベルは ボリューム です
 ボリューム シリアル番号は ****-**** です

 C:\適当なフォルダ> のディレクトリ

2020/07/28  11:00    <DIR>          .
2020/07/28  11:00    <DIR>          ..
2020/07/28  11:01    <DIR>          www
               0 個のファイル                   0 バイト
               3 個のディレクトリ  568,894,787,584 バイトの空き領域

なぜか、www フォルダが出来、その中にソースが入っている。

とりあえず、サーバにあるNode.jsのアプリのソースをVisual Studio Codeで
デバッグする準備が出来た。

あ、SJISのファイルが、コンバートしたので、アップしてみる。

$ git commit -m 'memo utf8' -a
$ git push -u origin master

Windowsに取り込む

C:\適当なフォルダ> git pull
{ユーザ名}@{ホスト名}'s password:{パスワードを入れる}
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), 645 bytes | 1024 bytes/s, done.
From {ホスト名}:/home/****/www
   5016d20..c2a658f  master     -> origin/master
Updating 5016d20..c2a658f
Fast-forward
 "\343\203\241\343\203\242.txt" | 42 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

ps. Visual Studio Code でGithubみたいに画面のボタンからgit push したい場合。

面倒だけど、方法はあった。

以下、参考にした記事。

7.14 Git のさまざまなツール – 認証情報の保存

4.3 Gitサーバー – SSH 公開鍵の作成

gitのリモートプライベートリポジトリを公開鍵認証を使って環境構築する

この記事の通りにやればいいはず。

諸所の事情によりサブシステムをまともに使えないメインPCはこうなった。

  1. どこかのフォルダで右クリックし、Git Bash Hereをクリック。
    ここならパスフレーズを省略した公開鍵を作成できるハズ。
    $ ssh-keygen
    Enter file in which to save the key (****¥.ssh¥id_rsa): {ENTER}
    Enter passphrase (empty for no passphrase): {ENTER}
    Enter same passphrase again: {ENTER}
  2. WinScp等でC:¥users¥{ユーザ名}¥.sshフォルダのid_rsa.pubをgitサーバーのユーザの~/.sshフォルダにコピーする。
    ※サーバに~/.sshが無かったら作成する。勿論オーナはユーザ名。
    ※左パネルのid_rsa.pubファイルを右パネルの.sshフォルダにドラッグ
  3. WinScp等で送った公開キーファイル名をauthorized_keysに変える。
    ※右パネルのid_rsa.pubファイル名をauthorized_keysに書き換える。

多分、これでOKなハズ。

これで、sshコマンドもパスワード無しでログインできてお手軽だが、sudoする時は時々パスワードを入力しないといけない。
しかし手元のTeraTermは無関係で、しかもこれは認証情報を一切覚えられないので、起動の度に秘密鍵を指定するか、設定を保存し起動の度に「設定ファイル読み込み(R)」をするかの2択しかない。

とりあえず、この方法を試した後は必要な時だけSSHサービスを開けるか、
~/.ssh/authorized_keysを別の名前にしておく必要があるね。




top