タグ

ブックマーク / qiita.com/uasi (8)

  • 「追跡ブランチ」って言うのやめましょう - Qiita

    TL;DR 突然ですがクイズです。「追跡ブランチ (tracking branch)」という言葉の使い方で正しいのはどれだと思いますか? origin/master はリモートリポジトリの master を追跡する追跡ブランチである origin/master はローカルの master に追跡される追跡ブランチである ローカルの master は origin/master を追跡する追跡ブランチである 現在の正解は多分3番です。過去には1番でした。 分からなかった方、分かったけど他人に「追跡ブランチ」と言って伝わるか不安な方。大丈夫です。正確な用語1で言い換えることにしましょう。 origin/master はリモートリポジトリの master を追跡するリモート追跡ブランチ (remote-tracking branch)である origin/master はローカルの master

    「追跡ブランチ」って言うのやめましょう - Qiita
    tyru
    tyru 2016/03/11
  • もっと怠惰に Git を使うシェルの設定でもっとラクをする、あるいは賢い st の話。そしておまけ。 - Qiita

    Git Advent Calendar / Jun. 22日目の記事です。21日目はgit最強のオプション filter-branchでした。 gst には怠惰さが足りない さて、12日目に怠惰にgitを使うためのシェル活用術、またはgst一族という記事がありました。これ、僕に言わせればまだ怠惰さが足りません。 alias gst='git status' などを設定すると便利という内容なのですが、 gst は長い。3文字です。g を取って st でいいじゃん。 gb も g を取って b でいいじゃん。 こう反論する向きもあるかもしれません。「自分は Mercurial や Subversion も使っていて alias hst='hg status'; alias sst='svn status' と設定している。区別と統一性のために g が必要なのだ。てゆーか短いエイリアスってヤじゃ

    もっと怠惰に Git を使うシェルの設定でもっとラクをする、あるいは賢い st の話。そしておまけ。 - Qiita
    tyru
    tyru 2016/03/11
    insteadOf とか pushInsteadOf 便利だった
  • バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita

    TL;DR: グローバルな gitignore に ,/ を追加して、作業用スクリプトを , ディレクトリに入れると便利。 ,/tmp_script.sh で実行できる。 Git リポジトリの中に一時的に使う作業用スクリプトを置いておきたいことがある。自分だけが使うものなのでコミットはしたくないが、いちいち .git/info/exclude に追加して無視させるのも面倒臭い。 今まで自分は、 tmp_script.sh~ や tmp_script.sh.bak など、グローバルな gitignore で無視されるファイル名にしていたが、これは不要なファイルと間違えて消してしまう危険がある。 ignored.tmp_script.sh は分かりやすいぶん長い。 _tmp_script.sh は悪くないが、コミットすべきファイルにもアンダースコアで始まるものがあって紛らわしい。 そこで、作業

    バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita
    tyru
    tyru 2014/11/04
  • 間違って Git リポジトリを rm -r して色々消える事件が二度とないようにする - Qiita

    $ rm -r repo override r--r--r-- uasi/staff for repo/.git/objects/48/a35a5fffec3890bb52584a98898aa2b02a719a? ^C ヤバいと思って ^C しても後の祭りだ。一番大事な .git/objects 以下のファイルはリードオンリーなので辛うじて残るが、 .git/HEAD やら .git/config やらは消えてしまっている。 こういう悲しい事件は二度と起こらないようにしよう。ミスによる削除を防ぐには、リードオンリーなファイル .git/! を作ればよい:

    間違って Git リポジトリを rm -r して色々消える事件が二度とないようにする - Qiita
    tyru
    tyru 2014/10/20
    !?
  • 変数展開時の単語分割(word split)をマスターする - Qiita

    シェルスクリプトは、スペース区切りの文字列が代入された変数を展開するとき、文字列をスペースの位置で分割して複数の文字列のように扱う。この挙動は Bash (をはじめとする Bourne shell 系のシェル)と Zsh とで異なってくる。 普通の変数について Bash では、展開する変数をクォートしなければ単語分割が起きる。クォートすれば単語分割は起きず、スペースを含む1つの文字列として展開される。 Zsh では、変数をクォートするかしないかにかかわらず単語分割は起きない。ただし、 SH_WORD_SPLIT オプションをオンにすると Bash 準拠の挙動に変わる(デフォルトでオフ)。以下に単語分割の例を示す: ### 下準備 # 第1引数を echo する関数 function echo_first { echo $1 } # スペース区切りの文字列を含む変数 var="a b c"

    変数展開時の単語分割(word split)をマスターする - Qiita
  • Perl 6 の関数は sub だけじゃない - Qiita

    sub と言えば PerlPerl と言えば sub ですが、 Perl 6 の関数定義には sub 以外にも色々あり、それぞれに役割が異なっています。1つ1つ見ていきましょう。

    Perl 6 の関数は sub だけじゃない - Qiita
    tyru
    tyru 2012/12/04
    Perl6やばい
  • quickrun.vim でテストを実行する - Qiita

    <Leader>r でファイルを実行する設定はそのままに、 <Leader>t ではテストを実行できるようにしてみた。 " キーマップの設定 nnoremap <buffer> <silent> <Leader>t :<C-u>QuickRun -mode n -type test:<C-r>=&filetype<CR><CR> " テスト用の設定変数 " データ構造は g:quickrun_config と同じ let s:quickrun_test_config = {} " D言語の設定例 let d_type = copy(g:quickrun#default_config['d']['type']) if d_type != '' let s:quickrun_test_config[d_type] = copy(g:quickrun#default_config[d_type]

    quickrun.vim でテストを実行する - Qiita
  • どこでも使える git diff と git apply - Qiita

    Git Advent Calendar / Jun. 28日目の記事です。27日目はつるはしで過去を発掘するでした。 Git リポジトリの外で git diff / git apply あまり知られていないことですが、 git diff と git apply は Git リポジトリの外でも使えます。普通の diff ではできない、バイナリファイルを含む2つのディレクトリの差分を取りたいときなどに重宝します。ちょっと試してみましょう。 $ mkdir dir1 dir2 $ echo foo > dir1/text $ echo FOO > dir2/text $ dd if=/dev/random of=dir1/binary bs=128 count=1 $ dd if=/dev/random of=dir2/binary bs=128 count=1

    どこでも使える git diff と git apply - Qiita
    tyru
    tyru 2012/06/30
  • 1