20200404のGitに関する記事は7件です。

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 -u

zcompdumpのリフレッシュ

コマンド補完の動作に悪影響を与えるようなので、一度消す。
消してもすぐに新しいものが作成し直される (renameしてdiff取ってみてもよかったのかも)。

$ rm -f ~/.zcompdump; compinit

設定の読み込み

以下のコマンド実行か、ターミナル再起動で補完が有効になる。

$ source ~/.zshrc
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

GitHubの始め方

はじめに

GitHubはソースコードのバージョン管理をオンラインで行えるウェブサービスです。
ここでは、GitHubのユーザー登録や、SourceTreeの初期設定の方法について解説します。

GitHubのユーザー登録

GitHub公式ページにアクセスし、「GitHubに登録する」をクリックします。

github_top.PNG

ユーザーIDやメールアドレスなどの情報を入力します。

github_register.PNG

入力したメールアドレスに確認メールが届くので、認証をして登録完了です。

SoruceTreeの初期設定

ユーザー登録が済んだら、SourceTreeでリモートリポジトリとしてGitHubを登録します。
SourceTreeを立ち上げ、左上の「Remote」を選択し、「アカウントを追加」をクリックして立ち上がるウィンドウで、ホスティングサービスとして「GitHub」を、優先するプロトコルとして「HTTPS」を選択し、「OAuthトークンを再読み込み」をすると、GitHubをリモートリポジトリに追加することができます。

github_sourcetree.PNG

まとめ

ここでは、GitHubの利用を開始するにあたって必要な初期設定について解説しました。
以上の設定が終われば、GitHubにソースコードをアップロードできるようになります。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

IBMクラウド Git リポジトリへのsshアクセス

IBM CloudのGitリポジトリにアクセスを求められたときの作業めも。
SSH設定しないとcloneできなかったので。。ハマりました。。
※ ベースはGit lab

1.SSH鍵生成

#ssh-keygen -t ed25519 -C アカウント名
Generating public/private ed25519 key pair.
:

2.生成された鍵をコピー

pbcopy < ~/.ssh/id_ed25519.pub

3.IBM Cloud(GitLab)にコピーした鍵を登録

アカウントのSSH鍵の画面で登録できる

4.テスト

ssh -T git@us-south.git.cloud.ibm.com

参考URL

その他

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
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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.mdmasterrelease/v1.0.xコミット差分だけパッチファイルが生成されます。

2. パッチを当てる

git am -3 *.patch

1番で生成されたパッチファイルを適応します。

おまけ

git merge {リリースブランチのSHA1}
最後に上記を実行すると、git branch --contains {tag名}をすると
ex) v1.0.0 が含まれることが確認できます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

GitHubの使い方メモ

開発しているサービスをGitHubで管理していても、すぐGitコマンドを忘れてしまうので、メモ。

初期設定(レポジトリを作成)

GitHubにログインしたら、左上の緑のボタン「New」で新しくレポジトリというものを作成。
スクリーンショット 2020-04-03 午後7.05.00.png
レポジトリの名前は必ず入力。あとは一旦無視してもあとで追加できるので、下の「Create repository」で作成。
スクリーンショット 2020-04-03 午後7.09.24.png
↓このページが出ていればOK!
スクリーンショット 2020-04-04 午前11.50.29.png

コードをGitHubに追加

Visual Studio Codeを開き、赤い部分にコマンドを打って行きます。(Windowsの人は、別途設定必要)
※下は、Visual Studio Codeを使った例
スクリーンショット 2020-04-03 午後7.21.00.png

赤く囲った部分に、下記のコマンドを順番に打って行きます。

$ 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で、
スクリーンショット 2020-04-04 午前11.56.52.png
↓GitHubに戻ってリロードします。こんな感じに表示されていれば成功です。
スクリーンショット 2020-04-04 午後0.01.40.png

編集内容をGitHubに反映する方法

コードを書き直したり、画像を追加したりした時、GitHubのコードも最新にしたいですよね。
以下のコマンドを順番に打って行きます。

$ git add .
$ git commit -m "変更内容をここに記述" 
$ git push -u origin master

↓Visual Studio Codeはこんな感じに表示されていればOKで、
スクリーンショット 2020-04-04 午後0.07.07.png
↓GitHubに戻ってリロードします。こんな感じに表示されていれば成功です。
スクリーンショット 2020-04-04 午後0.11.22.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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にする
    1. git remote rm origin
    2. git remote add origin git@github.com:~~~~/~~~~ (SSH接続のpath)
    3. git remote set-url --add origin xsrv:~/~/~

参考URL

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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

コマンド

参考: https://stackoverflow.com/questions/58263216/how-to-change-commit-author-for-multiple-commits-using-filter-branch

まずメールアドレスをマッピングするためのテキストファイルを以下のような形式で作成します。

新しい名前 <new@email.com> <old@email.com>

そしてリポジトリのディレクトリで以下のコマンドを実行します。

git filter-repo --mailmap mailmap

mailmapは上で作成したテキストファイルのパスです。
大抵の場合では強制的に修正するために-fをつける必要があるかと思います。

git filter-repo -f --mailmap mailmap
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む