GitHubのGitのAndroidスマホのTermuxアプリを使った初期設定と通常の基本操作 結城永人 - 2020年1月10日 (金) AndroidスマホでGitHubが対応したサイトやアプリ開発のバージョン管理システムのGitを動かすにはターミナルエミュレーターでLinux環境アプリのTemuxを使えば大丈夫なんだ。 開始画面|Termux Playストアで無料でインストールして使える。最初に開くとパッケージの更新のためのダウンロードでデータ通信が行われてちょっと時間がかかる。待っているとLinuxや独自のコマンドを入力可能なターミナルエミュレーターの画面が現れる。 追記:Termuxは2020年11月からプログラムの問題でPlayストアでの更新を停止した。Androidバージョン7.0以降はTermux Applicationで示される別のAPIをダウンロードして使うことが推奨される。 目次TermuxアプリでGitを使う一般的な初期設定Git用の初期設定Gitの一般的な設定ユーザー設定GitHubのGitの基本操作リモートリポジトリの新規作成リモートリポジトリの三つの設定リモートリポジトリの更新リモートリポジトリの取得 TermuxアプリでGitを使う 一般的な初期設定 二回目以降で、もう既に実行済みならば繰り返す必要はない。 Androidのバージョン6.0以降はTermuxで扱うデバイスのストレージの許可を得る。 termux-setup-storage lsコマンドで確認すると; storagedcim(デジタルカメラ)downloads(ダウンロード)external-1(外部ストレージ)movies(動画)music(音楽)pictures(画像)shared(その他) Termuxのフォルダは種類毎に使い分けられる。 Gitでソースコードのためのディレクトリやファイルを追加するには「shared」が適していると思う。 参考サイトTermux-setup-storage Git用の初期設定 デバイスにGitを一回だけインストールする。 pkg install git Gitを削除する場合は「pkg uninstall git」になる。 参考サイトPackage Management Gitが更新されたかどうかを確認する。 apt update 更新可能なパッケージの一覧が表示される。 全てをアップデートするならば「apt upgrade」か「pkg upgrade」、Gitだけを更新するならばインストールと同じに「pkg install git」を打ち込む。 参考サイトApt Gitの一般的な設定 ここからはTermuxアプリにかぎらず、どんなデバイスのターミナルエミュレーターでも大差はない。 ユーザー設定 Gitのユーザー名とメールアドレスを登録する。これ自体はGitHubのユーザー設定と異なるGitの一般的なユーザー設定だ。しかしGitHubでもコミットに関してアカウントのメールアドレスが照合されてユーザー名が反映するかどうかに影響する。メールアドレスが違うとコミットの名前はGitのユーザー名、メールアドレスが同じだとGitHubのユーザー名で登録され、アカウントにアヴァター画像があれば使われもする。 git config --global user.name ユーザー名 帯文字は任意のユーザー名を入力する。コマンドだけ打ち込むとgitのユーザー名を確認することができる。 git config --global user.email メールアドレス 帯文字は任意のメールアドレスを入力する。コマンドだけ打ち込むとgitのメールアドレスを確認することができる。 注意点としてGitからコミットしたメールアドレスはGitHubから取り出される可能性があるらしい。公開せず、隠しておくためには代わりにGitHubのnoreplay(無返信)メールアドレスを用いなくてはならない。 メールアドレスをプライベートにしておきたいなら、GitHubが提供する no-reply メールアドレスをコミットメールアドレスとして使うことができます。 コマンドラインからプッシュするコミットに対してnoreplyメールアドレスを使いたい場合には、そのメールアドレスを Git のコミットメールアドレスの設定で使用してください。 Web ベースの Git 操作に noreply アドレスを使いたい場合には、GitHub でコミットメールアドレスの設定を行い、[Keep my email address private] を選択してください。 コミットメールアドレスを設定する|GitHub ヘルプ|GitHub GitHubのログインの「Settings」の「emails」で「Keep my email addresses private」(メールアドレスを私用にする)にチェックを付けると共に説明文に載っているGitHubのnoreplyメールアドレスを用いて登録することができる。 noreplayメールアドレスのタイプ 2017年7月19日以降のアカウントID+GitHubのユーザー名@users.noreply.github.com2017年7月18日以前のアカウントGitHubのユーザー名@users.noreply.github.com IDありのものは後からユーザー名を変更しても通用するけれどもIDなしものは通用しなくなるので、使う際には留意しておきたい。 参考サイトGit でのユーザ名を設定するコミットメールアドレスを設定する GitHubのGitの基本操作 デバイスのローカルリポジトリからウェブのリモートリポジトリを関連付けて更新する方法について載せる。 リモートリポジトリの新規作成 GitHubのプロフィールから「Repositories」へ行ってメニューリストの右横の「New」のボタンかリポジトリのページの最上段の右横の「+」のメニューから選ぶと「Create a new repository」(新しいリポジトリを作成する)のページに変わる。 入力/選択項目 リポジトリの新規作成|GitHub Owner_アカウントの選択Repository name_リポジトリの名称(必須)Description_説明文(未記入も可)公開設定Public_公開Private_非公開Initialize this repository with a README_このリポジトリのREADMEの初期化(READMEを追加するかどうかを決める)Add .gitignore_gitで管理しないファイルを指定するためのgitignoreファイルを追加できるAdd a license_ライセンス文書を追加できる 最後の「Create repository」のボタンを押すとGitHubのリモートリポジトリが作成される。 リモートリポジトリの三つの設定 リモートリポジトリの三つの設定|GitHub GitHubから提供されるHTTPSかSSHのリモートURLを使ってリモートリポジトリをGitのローカルリポジトリへ結び付けてファイルを追加できる。 またはブラウザからでも「creating a new file」(新しいファイルを作る)と「uploading a existing file」(現存のファイルをアップロードする)の二つのリンク先から同じようにファイルを追加できる。 GitHubのリモートリポジトリの新規作成でREADMEの初期化や.gitignoreやライセンスを選択しないと最初にGitへの三つの設定の仕方が表示される。 方法①Create a new repository on the command line コマンドラインから新しいリポジトリを作る。 echo "内容" >> README.md git init git add README.md git commit -m "コメント" git remote add origin リモートURL git push -u origin master デバイスのローカルリポジトリを置きたいディレクトリへcdコマンドで移動して必要ならばmkdirコマンドでGitHubのためのディレクトリを新しく作成してcdコマンドで入ってから所定のコマンドラインを実行する。 Termuxアプリならば「cd storage/shared」でstorageフォルダのsharedへ移動して必要ならば「mkdir Git」(Gitは任意のディレクトリ名)で新しく作成したGitHubのためのディレクトリにリモートリポジトリを置くと使い易いだろう。 コマンドの説明 echo "内容" >> README.md内容のREADME.mdへの上書きgit initローカルリポジトリの新規作成/再初期化git add README.mdREADME.mdの追加git commit -m "コメント"コメント付きでコミットgit remote add origin リモートURLリモートURLに由来するリモートリポジトリを取得git push -u origin masterリモートリポジトリへコミットをプッシュ オプションの「-m」はコミットにコメントを追加する。「-u」はプッシュで上流ブランチを指定する。 引数の「origin」はリモート名(リモートリポジトリ)、「master」はブランチ名(メインブランチ)に当たる。 git pushの直後にGitHubのユーザー名とトークンの入力を行って完遂する。 参考サイトリモートの追加 方法②Pushing an existing repository from the command line コマンドラインから現存のリポジトリをプッシュする。 git remote add origin リモートURL git push -u origin master デバイスのローカルリポジトリが作成済みの場合なので、すなわち方法①のechoからgit commitまでのコマンドが省略されてリモートリポジトリと結び付けるだけだ。 方法③Import code from another repository 他のリポジトリからコードをインポートする。 You can initialize this repository with code from a Subversion, Mercurial, or TFS project. サブヴァージョンとマーキュリアルとTFSからコードをインポートしてリポジトリを初期化することができる。 画面の「Import code」のボタンを押すと所定のバージョン管理システムからインポートするクローンURLの入力画面に変わる。 その他に「Change repository」からGitHubの古いリポジトリと入れ換えることもできる。 何れの場合も右下の「Begin import」のボタンでインポートを実行する。 参考サイト新しいリポジトリの作成 リモートリポジトリの更新 三つの設定の何れかによってローカルリポジトリと結び付けられたリモートリポジトリの更新は三つのコマンドで一般的に行われる。 git add ファイル名git commit -m "コメント"git push origin master 最初の二つはローカルリポジトリの更新で、最後の一つがリモートリポジトリの更新を果たす。 git commitはオプションの「-m」を使わず、コメントなしでも構わない。 git pushは最初の設定でオプションの「-u」によって上流ブランチが指定されていれば引数の「origin」や「master」がなくても同じになるけれども念のためにいつも両方とも付けて打ち込むのが無難だ。 参考サイトコミットをリモートリポジトリにプッシュする リモートリポジトリの取得 クローンURLの表示|GitHub GitHubの既存のリモートリポジトリをデバイスのローカルリポジトリに取得する方法もあってクローンといわれる。 ウェブのGitHubのリポジトリのページの「Clone or download」のボタンから「Clone with HTTPS」(HTTPSでクローン)か「Clone with SSH」(SSHでクローン)のクローンURLを取得して使う。 もう一つ「Download ZIP」があってこれはデバイスにリポジトリのファイルを圧縮ファイルのZIPでブラウザからダウンロードしてファイルマネージャーアプリで解凍してローカルリポジトリに追加したり、色々と使える。 git clone クローンURL 設定の方法①の場合と同様に先ずはデバイスのローカルリポジトリを置きたいディレクトリへcdコマンドで移動、そして必要ならばmkdirコマンドでディレクトリを作成してcdコマンドで入ってから所定のコマンドラインを実行する。 クローンで生じるローカルリポジトリの内容 repo と呼ばれる新たなフォルダが作成されるGit リポジトリとして初期化されるクローン元の URL を指す origin という名前のリモートが作成されるリポジトリのファイルとコミットすべてがそこにダウンロードされるデフォルトブランチ (通常 master と呼ばれる) がチェックアウトされる リモートリポジトリから変更を取得する|GitHub ヘルプ|GitHub ローカルリポジトリにリモートリポジトリのクローンが作成されるとリモートURLで設定したのと同様に当該のリモートリポジトリをローカルリポジトリから更新することができるようになる。 その他、GitHubのGitの基本操作として三つのコマンドを覚えておくと良いと思う。 git fetch originリモートリポジトリの変更(新しいリモート追跡ブランチとタグ)の情報をマージなしに取得するgit merge origin/masterローカルリポジトリの変更をリモートリポジトリに結合する。新しいリモート追跡ブランチ:origin/masterを古いローカルリポジトリのブランチ:masterへマージするために使われることが多いgit pull origin mastergit fetchとgit mergeの二つのコマンドを同時に実行する 引数の「origin」はリモート名(リモートリポジトリ)、「master」はブランチ名(メインブランチ)に当たる。 何れも打ち込むとGitHubのユーザー名とトークンの入力によって処理が完遂する。 pull は、取得された変更のマージを実行するため、pull コマンドの実行前にローカルの作業がコミットされていることを確認する必要があります。 解決できないマージコンフリクトが発生した場合、あるいはマージを中止したい場合は、git merge --abort を使用して、プルを行う前の状態にブランチを戻すことができます。 リモートリポジトリから変更を取得する|GitHub ヘルプGitHub 注意点としてリモートとローカルの二つのリポジトリで更新が打つかると問題が生じるので、作業の経過が曖昧ならば「git status」(状態)や「git log」(履歴)のコマンドで確認しながらやると良いと思う。 参考サイトスマホでGitGithubに新規リポジトリを追加AndroidでLinuxターミナル!Termuxの初期設定GitHub でダミーのメールアドレスを使用するGit - originとmasterとは何か(初心者向け)私の使うGitコマンドまとめ 基本コマンド編git fetchの理解からgit mergeとpullの役割 コメント 新しい投稿 前の投稿
細川慎二のどうにも泣けて来てしまうストリートライヴのアルトサックス サックス奏者の 細川慎二 のYouTubeチャンネルの Sax in the Night City で出ているサックスのストリートライヴの動画が美しい音色と相俟った街角の雰囲気の良さで心底と泣けて来るほどの感動を催させる。 細川慎二のアルトサックスの美しい音色が響き渡る街角の...
宜保愛子は本物の霊能力者だと考えられる三つの真実 昭和から平成にかけてテレビや雑誌で何度も大きく取り上げられて物凄く活躍した霊能力者の 宜保愛子 がいた。何気なく昔のテレビ番組を観ていたら霊視は嘘だったと思えない内容で、本当にびっくりした。昔、そんなに引き付けられて観ていたわけではないし、改めて霊能力が本当かどうかを確かめようと...
平田監督の白井球審の誤審への抗議はパワハラへの強力な対処法に他ならない 日本プロ野球で 佐々木朗希が完全試合を実現して 次の試合も八回まで無安打と無失点の状況で、次の試合はどうかと注目した4月24日の対オリックスバファローズ戦は初回の先頭打者の初球にヒットを打たれて五回に二失点を喫して連続の無安打と無失点が両方とも途絶えてしまった。 しかし予想外...
アドセンスのGDPRに日本でも対応しなくてはならない場合がある アドセンスの個人情報のCookieなどの使用に関してサイトの訪問者に同意を得なくてはならない法律としてEU(European Union/欧州連合)の GDPR (General Data Protection Regulation/EU一般データ保護規則)がある。外国の個人情報...
伊良部秀輝が自殺した原因はミッドライフクライシスによる鬱と飲酒だと考える プロ野球選手の 伊良部秀輝 が自殺したと知ってショックを受けたことがあった。もう十年以上前になる。2011年の夏、享年四十二と早過ぎたのに加えて大好きな投手の一人だったので、とても残念に感じた。 目次 伊良部秀輝が大好きだった記憶 負けても自分のスタイルを貫き通した 野球への...
日本人がジャニーズ事務所で行われた性加害よりも恐れていること イギリスの公共放送のBBC(British Broadcasting Corporation/英国放送協会)が日本のジャニーズ事務所の創業者の ジャニー喜多川 の性加害について取り上げたドキュメンタリーの J-POPの捕食者:秘められたスキャンダル に衝撃を受けた。 目次 ジ...
沖雅也の涅槃への自殺と双極性障害 かつて俳優の 沖雅也 の自殺が伝えられたとき、遺書の言葉とされた「おやじ、涅槃でまっている」と共に何なのかと疑問を感じたのを良く覚えている。聞き慣れない「涅槃」という言葉が入っても何十年も過ぎた今振り返っても自殺者の遺書として本当に珍しい表現だったと改めて驚く。 沖雅也が書い...
玉置浩二のメロディーは涙腺緩んで総毛立つ名曲中の名曲だ 玉置浩二 のYouTubeの公式チャンネルで、最も気に入りの メロディー のライブ版が追加されていた。曲自体をちゃんと聴いたのは約二十五年振りかも知れないけど、しかし初めての内容から以前にも況して大変な感動を覚えることになった。 玉置浩二 『メロディー』Live at Tok...
Imgurで画像URLと埋め込みコードを取得する方法 Imgur は自分でアップロードした画像については画像URL/直リンクを取得して他のサイトにHTMLのimgタグで表示させられる。 そして自分と他の人たちも含めて画像の埋め込みコードを取得して他のサイトのHTMLに、そのまま、記載して表示させられもする。 目次 Img...
Googleの誕生祝いでプロフィールアイコンに風船と紙吹雪が飛んで来た サイトを見ていたら妙な感じがするので、良く見てみるとGoogleサービスで、ログインして右上のプロフィールアイコンが出ているときに風船と紙吹雪が飛んで来ていることに気付いた。 Googleから久し振りに受け取った誕生祝い サマリー|Search Console| Goog...
コメント