ttlog

日々の開発で得た知見の技術メモ。モバイルアプリネタが多いです。

GitのリモートURLをクリップボードにコピーする(macOS Only)

リモートリポジトリをcloneする際、既にある別のローカルリポジトリからリモートURLをコピー&ペーストして末尾を少し書き換えてcloneするということをよくやるのですが、

  1. git remote -vでURL表示
  2. マウスで選択して⌘+cでコピー

とやっていたので地味に面倒でした。

ということで、コマンド一発でコピー出来るスクリプトRubyで書いてみました。 originブランチのリモートURLをクリップボードにコピーします。

即席&Rubyほぼ初心者なのでかなり適当です。 また、内部でmacOSpbcopyコマンドを使用しているため、macOSでのみ動作します。

#!/usr/bin/env ruby

git_command = 'git remote -v'
git_result = `#{git_command}`
if git_result.empty?
  puts "Failed to run command: '#{git_command}'"
  exit
end

url = git_result.split("\n")
  .select {|line| line.start_with?("origin")}.first
  .split(" ")[1]

`printf #{url} | pbcopy`

puts "Copied '#{url}'"

初めて知りましたが、String.split(" ")(半角スペース1文字)で空白文字を全部分割してくれるんですね。 なんという便利機能...

docs.ruby-lang.org