Amazon Campaign

2017年2月19日日曜日

SourceTreeでコミットの失敗を修正する

Gitでコミット失敗したとき困りますよね。技術評論社が無料で配布している技術書のカタログ「電脳会議」でコミットを修正するコマンドが紹介されていました。
それをGitクライアント「SourceTree」でどのように操作するか紹介します。

実施環境


  • Mac版
  • SourceTreeの 4.2

まずリモートリポジトリにプッシュされているか確認する

すでにリモートリポジトリへプッシュしているかどうかで対応方法が以下のように変わります。



まずはプッシュされているか調べましょう。

コマンド

$git log --oneline @{u}..HEAD

SourceTree

SourceTreeの場合は黙っていても勝手に表示してくれています。

未プッシュ数は常に表示されています

修正したコミットをすでにリモートリポジトリにプッシュしてしまった

この場合、プッシュしてしまったコミットを取り消すコミットを作成して新たにプッシュします。

プッシュしたコミットを取り消す

git rebertを使ってコミットした編集を取り消す新たなコミットを作成します。

コマンド

$git revert HEAD

SourceTree

対象のコミットを選択し、コンテキストメニューより「コミット適用前に戻す」を選択します。


"Revert"コメントが付与された、対象のコミットを取り消すコミットが生成されます。


修正したコミットをリモートリポジトリにまだプッシュしていない

この場合、修正内容により方法が異なります。

コミットメッセージを間違えた


コマンド


$git commit --amend

SourceTree

「リポジトリ」メニューの「対話的なリベース」より行います。

メニューバー「リポジトリ」>「対話的なリベース」を選択

コミット一覧より対象コミットを選んで「メッセージを編集」を押す

コメントを修正

完了!


ファイルが漏れていた


コマンド


$ git add {追加するファイル名}
$ git commit --amend

SourceTree

直接このコマンドに対象する操作は見当たりませんでした。
この後に紹介する「コミットをやりなおす(ファイルの変更は残す)」を実行し、新たなコミットを作成することで対応できます。

コミットをやりなおす(ファイルの変更は残す)


コマンド

$ git reset HEAD^

SourceTree

対象のコミットを選択し、コンテキストメニューより「このコミットまで ****** を元に戻す」より実行します。

戻したい箇所のコミットを選んで「このコミットまで・・・」を選択

「Soft - すべてのローカル変更を保持」を選択

完了


コミットをやりなおす(ファイルの変更は残さない)


コマンド

$ git reset --hard HEAD^


SourceTree

前述の「コミットをやりなおす(ファイルの変更を残す)」の操作と途中までは同じです。ダイアログメニューより「Hard」を選択します。

コンテキストメニューより「Hard - すべての・・・」を選択する

警告が表示されるが「OK」を押す

完了

以上です。
Gitの運用もできるならキレイに運用したいですよね。これさえ知っておけばコミットミスも怖くありません。


2017年2月12日日曜日

デスク装着型のUSB充電ケーブル収納アタッチメントを工作してみました

最近一晩で充電するガジェットが増えてきて、コンセントも足りないし、充電器を毎回セットするのも面倒なので、デスクに装着できるUSBケーブル収納アタッチメントを工作して見ました。

こちらが完成物です。
イメージしていたのはケーブルを使いたい時にサッと引き出せて、収納時には何のアクションもせずにホールドしてくれるものだったのですが、思い通りになりました。



まずコンセントの口が足りないので電源タップを増設しました。
アクセスしやすくデスクの上に設置しようとも思いましたが、結構ゴツイしかさばるので、サイドチェストに置き、各充電器を差しっぱなしにして取り回します。


電源タップの選定ですが、差しっぱなしの運用は待機電力が気になるのでポートごとにON/OFFできるもの、ただしデスクを設置してある部屋は寝室も兼ねているのでスイッチにはLEDランプがないものを選びました。


続いてケーブルを引っ掛けるフックですが、ダイソーに今回の工作にもってこいの商品がありました。


これ、両面テープで貼り付けるケーブルのクリップなのですが、そのクリップ部分の直径が絶妙なのです。ストレスなくケーブルを出し引きでき、かつUSBポート部分はしっかりブロックしてくれる、まさに今回の用途の為の製品!? と思えるものです。


デスクの天板のエッジが垂直であればクリップに付いている両面テープで直接貼り付けるだけなのですが、残念ながらボクのデスクのエッジは曲面に加工されているのでプラ板を噛ませ、プラ板を両面テープでデスクに貼り付けることにしました。


出来上がったものを設置したのがコチラです。普段はデスクの奥でひっそりと収納されております。


そしていざ、充電の時を迎えるとシャシャッとケーブルを引き出せて充電できます! いやー、なんて便利! かなり思い通りの形にできました。めでたしめでたし。


Amazon_ad