2012/06/30

自宅のPCからコマンド一発で会社のPCの電源を入れる

こういうことができるんですねw

会社の私のPCはデフォルトで設定が全てオンになってました(笑)

そこで隣の席の同僚がWOLパケットを投げるGaucheスクリプトを作ってくれたので、その起動スクリプトを会社のsshサーバに置きました。

ということで、手元のPCからssh越しにその起動スクリプトを呼ぶコマンド(shell script一行)を作ったので、自宅だろうが外出先だろうが一撃で会社のPCの電源が入るようになってめでたしめでたし。

会社のPCはwindowsなので試しにリモートデスクトップ(vinagreを使いました)で接続してみましたが快適過ぎる。。

ただし電源を切るにはログインしてshutdownコマンドを叩く必要があります。ついでにこれも手元からコマンドで叩けるようにしてみましたが、基本的にリモートデスクトップで接続することしかないので不要ですね。

結論:会社のサーバーにはgaucheが入ってる

2012/06/27

2012/06/27

日記(ネット時間を減らすには)

ここ数ヶ月ネットを見る時間が大幅に減ったvalvallowです。読むのに時間がかりそうな記事はpocket(read it later)に登録するというだけの方法。登録することで安心して当分読みません。するとヒマでヒマで仕方ないときに思い出したように記事を消化できます。これはすばらしい。でもtumblrばっかり見てるので+-0

あ、でもtumblrばっかり見てるお陰ではてブが気にならなくなった。もうホッテントリのfeedいらんかも。しかしなんでtumblrはやたらと吉木りさ画像ばかり流れてくるん?

週末は初ボルダリングなので楽しみです。

2012/06/19

2012/06/19

日記

しばらくいろいろと忙しく全然ブログ書いてなかったことでブログを書く習慣が消え去った。それと読書の習慣も消え去った。ブログも書きたいし本も読みたいのでさほど心配してない。そのうち復活すんじゃねーかな。

逆に新しくできた習慣があって、筋トレ(腕立て腹筋スクワット懸垂)、水泳(週一)、日記(ohlife)。特に筋トレが楽しくてハッスルしてる。懸垂かわいいよ懸垂。水泳もいいリフレッシュになってる。

gitでremoteのコミットをなかったことにしたい

今日会社で困ったのでメモ

目的

remoteのコミットをなかったことにしたい

参考にしたのはこちら

基本的に内容は同じ。

シチュエーション

  • 大幅修正
  • commit
  • commit
  • push
  • やっぱ大幅修正前に戻したい
  • コミットもなかったことにしたい

シナリオ

  • ローカルでreset --hard
  • remoteのbranch消す
  • ローカルの状態をpush

方法

取りあえずremoteはoriginでbranchはmasterということで。


branchのバックアップを取る
% git push origin master:master_bak
ローカルのcommitをなかったことにする
% git reset --hard xxxxxxxxxxxx
gitのremote branchを削除
% git push origin :master
ローカルのmasterをpush
% git push origin master

別解

なんだこれでいけるのか。
% git push -f origin xxxxxxxxxxxxx:master

ところで
% git push origin master:master_bak
これでremoteのbranchのバックアップが取れるとは。(というかremoteのbranchを切れるわけか)
remoteで作ったブランチを手元に持ってくるには
% git checkout -b master_bak origin/master_bak
でいいんだな。

それと、
% git push origin :master
のとこで
remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error: 
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: error: current branch, with or without a warning message.
remote: error: 
remote: error: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
みたいなメッセージが出る。その時はremoteのconfigに
[receive]
     denyDeleteCurrent = false
を追加してやるといいっぽい。

試しにやってみるとこんな感じ。
valvallow@ubuntu ~ % cd temp
valvallow@ubuntu ~/temp % mkdir -p playground/{repo,local}
valvallow@ubuntu ~/temp/playground/repo
 % git init --bare
Initialized empty Git repository in /home/valvallow/temp/playground/repo/
valvallow@ubuntu ~/temp/playground/repo
 % cd ../local
valvallow@ubuntu ~/temp/playground/local
 % git init
Initialized empty Git repository in /home/valvallow/temp/playground/local/.git/
valvallow@ubuntu ~/temp/playground/local
 % touch hoge
valvallow@ubuntu ~/temp/playground/local
 % echo 'Hello, world !!' > hoge
valvallow@ubuntu ~/temp/playground/local
 % git add .
valvallow@ubuntu ~/temp/playground/local
 % git commit -m 'initial commit'
[master (root-commit) 1876f96] initial commit
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 hoge
valvallow@ubuntu ~/temp/playground/local
 % echo 'add new row' >> hoge
valvallow@ubuntu ~/temp/playground/local
 % git add .
valvallow@ubuntu ~/temp/playground/local
 % git commit -m 'add new row'
[master e532dc4] add new row
 1 files changed, 1 insertions(+), 0 deletions(-)
valvallow@ubuntu ~/temp/playground/local
 % echo 'piyo' >> hoge
valvallow@ubuntu ~/temp/playground/local
 % git add .
valvallow@ubuntu ~/temp/playground/local
 % git commit -m 'piyo'
[master 5e0355c] piyo
 1 files changed, 1 insertions(+), 0 deletions(-)
valvallow@ubuntu ~/temp/playground/local
 % git remote add origin ../repo
valvallow@ubuntu ~/temp/playground/local
 % git push origin master
Counting objects: 9, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (9/9), 688 bytes, done.
Total 9 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (9/9), done.
To ../repo
 * [new branch]      master -> master
valvallow@ubuntu ~/temp/playground/local
 % git branch -a
* master
  remotes/origin/master
valvallow@ubuntu ~/temp/playground/local
 % git push origin master:master_bak
Total 0 (delta 0), reused 0 (delta 0)
To ../repo
 * [new branch]      master -> master_bak
valvallow@ubuntu ~/temp/playground/local
 % git branch -a
* master
  remotes/origin/master
  remotes/origin/master_bak
valvallow@ubuntu ~/temp/playground/local
 % git branch
* master
valvallow@ubuntu ~/temp/playground/local
 % git checkout -b master_bak origin/master_bak
Branch master_bak set up to track remote branch master_bak from origin.
Switched to a new branch 'master_bak'
valvallow@ubuntu ~/temp/playground/local
 % git branch
  master
* master_bak
valvallow@ubuntu ~/temp/playground/local
 % cat hoge
Hello, world !!
add new row
piyo
valvallow@ubuntu ~/temp/playground/local
 % git push origin :master
To ../repo
 - [deleted]         master
valvallow@ubuntu ~/temp/playground/local
 % git log
commit 5e0355cb325a8ed90fe066131c72dead9faba329
Author: valvallow
Date:   Tue Jun 19 22:23:50 2012 +0900

    piyo

commit e532dc4dc21f72292e2a700e28ed544d31c21a31
Author: valvallow
Date:   Tue Jun 19 22:23:17 2012 +0900

    add new row

commit 1876f96ff3186b5082c9c32e4ed310ac8d4b8a9a
Author: valvallow
Date:   Tue Jun 19 22:22:39 2012 +0900

    initial commit
valvallow@ubuntu ~/temp/playground/local
 % git reset --hard e532dc4dc21f72292e2a700e28ed544d31c21a31
HEAD is now at e532dc4 add new row
valvallow@ubuntu ~/temp/playground/local
 % git log
commit e532dc4dc21f72292e2a700e28ed544d31c21a31
Author: valvallow
Date:   Tue Jun 19 22:23:17 2012 +0900

    add new row

commit 1876f96ff3186b5082c9c32e4ed310ac8d4b8a9a
Author: valvallow
Date:   Tue Jun 19 22:22:39 2012 +0900

    initial commit
valvallow@ubuntu ~/temp/playground/local
 % git push origin master
Total 0 (delta 0), reused 0 (delta 0)
To ../repo
 * [new branch]      master -> master
valvallow@ubuntu ~/temp/playground/local
 % git log
commit e532dc4dc21f72292e2a700e28ed544d31c21a31
Author: valvallow
Date:   Tue Jun 19 22:23:17 2012 +0900

    add new row

commit 1876f96ff3186b5082c9c32e4ed310ac8d4b8a9a
Author: valvallow
Date:   Tue Jun 19 22:22:39 2012 +0900

    initial commit