- 投稿日:2020-04-04T19:47:46+09:00
zshでgitコマンドを補完できるようにする
macOS Catalinaからデフォルトのshellがzshになったのに合わせ乗り換えたので、
.bash_profile
に書いていた設定のやり直し作業メモ。以下のページの通りでできました:
zshでgitのコマンドやブランチ名を補完できるようにする
https://blog.qnyp.com/2013/05/14/zsh-git-completion/gitはhomebrewで入れていたので、homebrewで「Homebrewでインストールしている場合」の手順を参考にした。
念のため今インストールされているgitの確認
$ brew list | grep git git $ git --version git version 2.25.0補完定義ファイルの確認
以下の2つが出てくればOK。
$ ls -l `brew --prefix`/share/zsh/site-functions/ | grep -e _git -e git-completion.bash lrwxr-xr-x 1 miyachi admin 58 3 1 17:28 _git -> ../../../Cellar/git/2.25.0_1/share/zsh/site-functions/_git lrwxr-xr-x 1 miyachi admin 73 3 1 17:28 git-completion.bash -> ../../../Cellar/git/2.25.0_1/share/zsh/site-functions/git-completion.bash.zshrc に設定追加
お好みのエディタで
~/.zshrc
を開き、以下を追記。fpath=($(brew --prefix)/share/zsh/site-functions $fpath) autoload -U compinit compinit -uzcompdumpのリフレッシュ
コマンド補完の動作に悪影響を与えるようなので、一度消す。
消してもすぐに新しいものが作成し直される (renameしてdiff取ってみてもよかったのかも)。$ rm -f ~/.zcompdump; compinit設定の読み込み
以下のコマンド実行か、ターミナル再起動で補完が有効になる。
$ source ~/.zshrc
- 投稿日:2020-04-04T18:57:07+09:00
GitHubの始め方
はじめに
GitHubはソースコードのバージョン管理をオンラインで行えるウェブサービスです。
ここでは、GitHubのユーザー登録や、SourceTreeの初期設定の方法について解説します。GitHubのユーザー登録
GitHub公式ページにアクセスし、「GitHubに登録する」をクリックします。
ユーザーIDやメールアドレスなどの情報を入力します。
入力したメールアドレスに確認メールが届くので、認証をして登録完了です。
SoruceTreeの初期設定
ユーザー登録が済んだら、SourceTreeでリモートリポジトリとしてGitHubを登録します。
SourceTreeを立ち上げ、左上の「Remote」を選択し、「アカウントを追加」をクリックして立ち上がるウィンドウで、ホスティングサービスとして「GitHub」を、優先するプロトコルとして「HTTPS」を選択し、「OAuthトークンを再読み込み」をすると、GitHubをリモートリポジトリに追加することができます。まとめ
ここでは、GitHubの利用を開始するにあたって必要な初期設定について解説しました。
以上の設定が終われば、GitHubにソースコードをアップロードできるようになります。
- 投稿日:2020-04-04T18:29:33+09:00
IBMクラウド Git リポジトリへのsshアクセス
IBM CloudのGitリポジトリにアクセスを求められたときの作業めも。
SSH設定しないとcloneできなかったので。。ハマりました。。
※ ベースはGit lab1.SSH鍵生成
#ssh-keygen -t ed25519 -C アカウント名 Generating public/private ed25519 key pair. :2.生成された鍵をコピー
pbcopy < ~/.ssh/id_ed25519.pub3.IBM Cloud(GitLab)にコピーした鍵を登録
アカウントのSSH鍵の画面で登録できる
4.テスト
ssh -T git@us-south.git.cloud.ibm.com参考URL
IBMCloud gitlab SSHアクセス
https://us-south.git.cloud.ibm.com/help/ssh/READMEContinuous Delivery(git環境)セッテイング
https://cloud.ibm.com/docs/services/ContinuousDelivery?topic=ContinuousDelivery-git_working#git_authenticationGitの簡単設定
https://us-south.git.cloud.ibm.com/help/gitlab-basics/start-using-gitその他
Gitを触っていた時の備忘。よく忘れる。。
コマンドメモ
コマンド 内容 git remote -v 複数リポジトリの表示 git remote add [laber] [リポジトリのURL] リモートリポジトリの追加 git config --global -e] Gitコンフィグのエディタ編集 git config --global --list] Gitコンフィグの情報確認 GitConfigのパス
OS PATH MAC /usr/local/etc/gitconfig
- 投稿日:2020-04-04T13:46:00+09:00
git: 別ブランチの一部のファイルのみMergeする方法
git: 別ブランチの一部のファイルのみMergeする方法
背景
semantic-release と トランクベース開発 をする中で、
git branch --contains
に含まれることを必要条件とし、
CHANGELOG.md
をリリースブランチからmaster ブランチに 持ってくる必要がありました。今回その方法をご紹介致します。
方法
今回は
release/v1.0.x
ブランチからmaster
ブランチにCHANGELOG.md
のパッチを当てることを想定実行します。1. パッチファイル作成
git format-patch --histogram '..release/v1.0.x' -- CHANGELOG.md上記を実行すると、
CHANGELOG.md
のmaster
とrelease/v1.0.x
コミット差分だけパッチファイルが生成されます。2. パッチを当てる
git am -3 *.patch1番で生成されたパッチファイルを適応します。
おまけ
git merge {リリースブランチのSHA1}
最後に上記を実行すると、git branch --contains {tag名}
をすると
ex)v1.0.0
が含まれることが確認できます。
- 投稿日:2020-04-04T12:11:47+09:00
GitHubの使い方メモ
開発しているサービスをGitHubで管理していても、すぐGitコマンドを忘れてしまうので、メモ。
初期設定(レポジトリを作成)
GitHubにログインしたら、左上の緑のボタン「New」で新しくレポジトリというものを作成。
レポジトリの名前は必ず入力。あとは一旦無視してもあとで追加できるので、下の「Create repository」で作成。
↓このページが出ていればOK!
コードをGitHubに追加
Visual Studio Codeを開き、赤い部分にコマンドを打って行きます。(Windowsの人は、別途設定必要)
※下は、Visual Studio Codeを使った例
赤く囲った部分に、下記のコマンドを順番に打って行きます。
$ git init $ git add . $ git commit -m "first commit" $ git remote add origin https://github.com/TakayukiNJ/YnoSDGs.git $ git push -u origin master↓Visual Studio Codeはこんな感じに表示されていればOKで、
↓GitHubに戻ってリロードします。こんな感じに表示されていれば成功です。
編集内容をGitHubに反映する方法
コードを書き直したり、画像を追加したりした時、GitHubのコードも最新にしたいですよね。
以下のコマンドを順番に打って行きます。$ git add . $ git commit -m "変更内容をここに記述" $ git push -u origin master↓Visual Studio Codeはこんな感じに表示されていればOKで、
↓GitHubに戻ってリロードします。こんな感じに表示されていれば成功です。
- 投稿日:2020-04-04T10:15:03+09:00
Git pushでXSERVERのWebsite更新をする(備忘録)
XSERVERのWebsiteをgit push コマンドで可能にします。GitやSSH公開鍵認証を学ぶ上でもいいトレーニングになります。参考にさせて頂いたサイトの方々ありがとうございました。
環境と準備
- Windows 10 home
- Windows Powershell
- gitのインストール(ローカル)
- github登録
- XSERVER契約
システムのイメージ
XSERVERをRemote Repositoryとして、Public_html上に作成した本番repositoryを、同サーバー別directoryに作ったbare-repositoryをそのcloneとして作成。Localからbare-repositoryにpushでbareのhooksが感知してpost-receiveが作動し、本番repositoryがpullをし、bareのデータを本番repoに持ってくるシステム。
public_html内でgit作業するリスク回避のためbare-repositoryを用意し、管理していると認識。ステップ
- SSH鍵作成(ローカルで用意)後々githubとXSERVERで鍵を使いまわせるから、同時pushで便利。
- SSH config 作成
- XSERVERにSSH接続し、gitをインストール
- Public_htmlにgit initし、本番nonbare-repositoryを作成、git init
- git cloneでbare-repositoryをpublic_htmlと同じ階層に作成
- bare-repositoryのhooksにpost-receiveを作成
- localの作業フォルダに移動し、bare-repositoryをremote-repoとして追加する。
- localからpushテストし、public_html内で更新内容確認
githubにも同時にpushそして、pull先はgithubに設定の場合
- githubでSSH公開鍵登録、git remote set-url --addでgithub内repoを紐づけ。(同時push)
- git pullのリモート先をgithubにする
- git remote rm origin
- git remote add origin git@github.com:~~~~
/~~~~ (SSH接続のpath)- git remote set-url --add origin xsrv:~/~
/~参考URL
- 投稿日:2020-04-04T09:24:58+09:00
Gitの履歴のメールアドレスを一括変更 (git-filter-repo)
タイトルのシチュエーションにおける方法としてgit-filter-branchを使う方法がよく紹介されていますが、git-filter-branchを使用するとgit-filter-repoを代わりに使用するよう警告が出るようになりました。
そこでgit-filter-repoを使う方法を紹介しようと思います。前提
参考: https://github.com/newren/git-filter-repo#prerequisites
- 最低 git >= 2.22.0, いくつかの機能については git >= 2.24.0 が必要
- python3 >= 3.5
インストール
参考: https://github.com/newren/git-filter-repo/blob/master/INSTALL.md
git-filter-branchはGitに組み込まれた機能ではないので、インストールが必要です。
pipからインストールする場合:
$ pip3 install git-filter-repoパッケージマネージャからインストールする場合:
$ PACKAGE_TOOL install git-filter-repo対応しているパッケージマネージャのリスト: https://github.com/newren/git-filter-repo/blob/master/INSTALL.md#installation-via-package-manager
コマンド
まずメールアドレスをマッピングするためのテキストファイルを以下のような形式で作成します。
新しい名前 <new@email.com> <old@email.com>そしてリポジトリのディレクトリで以下のコマンドを実行します。
git filter-repo --mailmap mailmap
mailmap
は上で作成したテキストファイルのパスです。
大抵の場合では強制的に修正するために-f
をつける必要があるかと思います。git filter-repo -f --mailmap mailmap