タグ

gitに関するsyou6162のブックマーク (123)

  • git add したあと、commit するの忘れてて reset --hard しちゃったけど、取り戻したい #git - Qiita [キータ]

    git add したあと、commit するの忘れてて reset --hard しちゃったけど、取り戻したいGit やっちまった〜 commit してたら最強の味方 reflog 使えるけど add しかしてないしなぁ…… でも、git は objectdb だし、add している時点で 何処かに保存されているはず!! と思って調べたら git fsck を発見!! どこにも属してないものが見れる!! やった!! これで hash とれるので git unpack-file で内容だけは復元できる!! つまり

    git add したあと、commit するの忘れてて reset --hard しちゃったけど、取り戻したい #git - Qiita [キータ]
    syou6162
    syou6162 2013/05/31
    あるある"git fsck --lost-found"
  • git reset についてもまとめてみる - murankの日記

    前回 git diff を図に書いてみたところ、自分の中で意外と整理できたので、これまたなんとなく使っていた git reset についてもまとめてみた。 とりあえず結論を先にまとめよう。 git reset とは? HEAD の位置を変更するコマンド。 オプションによってインデックス、ワーキングツリーの内容も変更できる。 git reset のオプションは? --soft、--mixed(オプションなしと同等)、--hard オプションがあり、影響度の小さい順に以下のようになる。 --soft HEAD の位置のみを変更する。インデックス、ワーキングツリーには影響なし。 --mixed (またはオプションなし) HEAD の位置とインデックスを変更する。ワーキングツリーには影響なし。 --hard HEADの位置、インデックス、ワーキングツリーをすべて変更する。 さて、git reset

    git reset についてもまとめてみる - murankの日記
    syou6162
    syou6162 2013/05/28
    すんばらしい
  • git diff の使い方がほんの少し理解できた - murankの日記

    いままでなんとなく使ってきたけど、ようやく使い方が分かったような気がするのでメモ。 前提知識 インデックスとワーキングツリーが理解できていること HEAD が何か分かっていること git diff ワーキングツリーとインデックスの差分を表示。 git add した後にさらに修正したけど、そういえばどの時点で git add したのかなー、というときに使う? git add したらすぐにコミットする自分には関係なさそう。 git diff --cached HEAD とインデックスの差分を表示。 git add して、コミットする前に差分を確認したい時に使うんだと思う。 自分は git diff よりもこっちの方をよく使う。 git diff HEAD HEAD とワーキングツリーの差分を表示。 前にコミットした時からどれくらい編集したか確認したい時に使う。 HEAD の部分はコミット(HE

    git diff の使い方がほんの少し理解できた - murankの日記
    syou6162
    syou6162 2013/05/23
  • GitでHTTPプロキシ越しにcloneする。 - 設計と実装の狭間で。

    何故かcorkscrewを使うやり方が検索エンジンとの親和性が高い様なのでメモ書き。 git config --global http.proxy proxy.example.host:8080これで、HTTP PROXY越しにclone出来るようになる。 git clone https://github.com/ceki/logback.git logback参照: git-config(1) Manual Page

    GitでHTTPプロキシ越しにcloneする。 - 設計と実装の狭間で。
    syou6162
    syou6162 2013/05/21
  • git stash clearを元に戻す方法

    how_to_get_cleared_stash_on_git `��jU �� �jU h1. 変更が消えてしまった!?その対応 せっかく実施したコードへの修正が消えてしまう、これほど開発者をがっかりさせることは無いでしょう。 Gitを使えば、消えてしまったように見える変更を復活できることがあります。 h2. 大原則 復活できる可能性があるのは、「何らかの形でGitに履歴を残してある歴史」だけです。 たとえば、以下のファイルを復活させることはできません。 <pre> $ touch foo.txt $ vim foo.txt $ rm foo.txt この時点で、foo.txtの復活は不可能 </pre> 逆に言えば、Gitに変更の痕跡があれば、復活の可能性は大いにあります。 例.1-1 <pre> $ touch foo.txt $ vim foo.txt $ git add . $

    git stash clearを元に戻す方法
    syou6162
    syou6162 2013/05/17
    stash君、戻ってきてくれたでぇ...!
  • いざというとき覚えておきたいgitコマンドまとめ - Qiita

    まだあわてるような時間ではございません。 インデックス 1.コミットメッセージを間違えちゃった! -- 直前のコミットのやり直し 2.そろそろブランチを整理しなきゃ! -- ブランチの名称変更と削除 3.間違ってコミットしちゃった! -- コミットを取り消す3つのリセット 4.別のブランチをプッシュしちゃった! -- リモートブランチのリセットと削除 5.コミットの順番を間違えちゃった! -- コミットログの並べ替えと削除 6.コミット細かすぎィ! -- コミットログの統合と編集 7.あのコミットさえあれば…! -- 他のブランチのコミットを適用する 8.やばい!ハードリセットしたら消えちゃった! -- 過去の状態の復元 9.masterにマージ後にバグ発生!どうする!? -- コミットを打ち消すコミット 1.コミットメッセージを間違えちゃった! -- 直前のコミットのやり直し エディタが

    いざというとき覚えておきたいgitコマンドまとめ - Qiita
  • transitive.info - git notes 使い方

    git notes 使い方 オブジェクトにノートを加える ノートは、(コミットメッセージに書くことができなかった)注釈をコミット自体を変更せずに書き加えるために使用される。 コミットにノートを加えるには git notes add git notes add HAED~3 git notes add <sha1> のようにする。コミットの指定を省略した場合は HEAD が対象になる。 エディタが起動して入力画面になるので、ノートを入力する。 ノートは git log で見ることができる。 オブジェクトに加えられたノートを調べる git notes または git notes list とするとノートとオブジェクトの sha1 が表示される。 コミットを指定して git notes list <sha1> とすると対象のコミットに加えられたノートの sha1 が表示される。 ノートを編集する

    syou6162
    syou6162 2013/05/02
  • git diffのpagerで日本語文字化け対策

    git config --global core.pager "nkf -w | LESSCHARSET=utf-8 less"

    syou6162
    syou6162 2013/01/23
  • GitHub のコミットログを日報がわりにする - Qiita

    以下の nippo.rb をダウンロードしパスの通ったディレクトリに配置する GitHub のリポジトリを clone してきた作業ディレクトリで $ nippo.rb と実行する その日のコミットログメッセージが GitHub へのリンクつきで表示される 日報がわりにコピペすると便利です(サボってると一目瞭然なので真面目に仕事しようという気になります) #!/usr/bin/env ruby remote = `git remote -v | grep origin | awk '{print $2}'`.split("\n").first.chomp.sub(/.*:(.*)/, '\1').sub(/\.git/, '') puts "### #{remote} ###" puts "" `git log --after=yesterday --author='Kensuke Nag

    GitHub のコミットログを日報がわりにする - Qiita
    syou6162
    syou6162 2013/01/17
  • = gitのコミット数を可視化したい - @peccul is peccu

    [2013-01-07 14:57:22] ふと,今日はどんだけコミットしたんか,これまで一日当たりにどんだけコミットしたんか,知りたくなりました. 全期間のコミット数 % git log --date=short --pretty=format:'%cd %an'|uniq -c 11 2013-01-07 peccu 4 2013-01-06 peccu 25 2013-01-05 peccu 6 2012-12-30 peccu 7 2012-12-28 peccu 13 2012-12-27 peccu 3 2012-12-26 peccu 1 2012-12-20 peccu 2 2012-12-19 peccu 4 2012-11-23 peccu 9 2012-11-02 peccu 4 2012-11-01 peccu 7 2012-10-31 peccu 5 2012-1

    = gitのコミット数を可視化したい - @peccul is peccu
    syou6162
    syou6162 2013/01/08
  • fetch と pullの違い - Qiita

    git fetchとgit pullの違いをわかりやすく書いてあるのが見つからなかったので。 git fetch リモートからデータを取ってくる。 ただし取ってくるだけで、それ以外は何もしない。 例えば だった場合,git fetchはCとDをダウンロードしてきて、origin/masterとして保存する。 しかしローカルのmasterには一切手を触れないため、masterとorigin/masterは別のコミットを指す。 この状態でgit checkout masterとかすると、多分こんな感じのメッセージが出る

    fetch と pullの違い - Qiita
    syou6162
    syou6162 2012/10/13
  • gitコマンドチートシート - Qiita

    # 部分的にaddする git add -p # add済みのfileをadd(deletedを消すときにも使う) git add -u

    gitコマンドチートシート - Qiita
    syou6162
    syou6162 2012/10/13
    これはよい
  • Git超入門 - 猿でもできるGit rebase · DQNEO日記

    むちゃくちゃわかりやすい例を考えてみた 今あなたは、羊を数えるプロジェクトをGitで開始しました。 羊を1匹数えるごとに1コミットして、3コミットまで終わりました。 ひつじが1ぴき (←1コミット目) ひつじが2ひき (←2コミット目) ひつじが3ひき (←3コミット目) masterブランチ歴史 (左から右に進みます) 1ぴき 2ひき 3ひき ○ - ○ - ○ ワイルドプログラマ、wildブランチを作る ここで突然ワイルドプログラマのスギちゃんが登場します。 スギちゃんは、masterブランチをもとにwildブランチを作成して、そこで1コミットずつ発言をワイルドに変えてしまいました。 ひつじが1ぴきだぜぃ ひつじが2ひきだぜぃ ひつじが3ひきだぜぃ wildブランチ歴史 (左から右に進みます) 1ぴき 2ひき 3ひき 1ワイルド 2ワイルド 3ワイルド ○ - ○ - ○ -

    Git超入門 - 猿でもできるGit rebase · DQNEO日記
    syou6162
    syou6162 2012/10/13
  • YAPCに参加して gist cloneを作ってるという話をしてきた - はこべにっき ♨

    YAPC::Asia Tokyo 2012に参加してきました。今年もたくさん発表が聞けたり、ひさびさに会う方々といろいろお話できました。みなさまありがとうございました!発表のためにコード書いたり、YAPCでいろいろ話聞いたりするので、だいたい秋あたりが一番元気がでてくる感じがします。 Perl 今昔物語でnaoyaさんもおっしゃってましたが、京都からの参加組はどうしても同窓会っぽい感じになってしまうのですが、それはそれで楽しい! 僕はホームディレクトリに埋もれた便利なコードをさがせ!という発表をしてきました。 ホームディレクトリに埋もれた便利なコードをさがせ! from Yohei Fushii ホームディレクトリにうまっているようなちょっとしたコードは社内でどんどん共有すると捗るよ! という話です。はてな社内で最近使っていた、Guitaという gist clone の紹介もしました。 ス

    YAPCに参加して gist cloneを作ってるという話をしてきた - はこべにっき ♨
    syou6162
    syou6162 2012/09/30
  • Gitのよく使うコマンド

    2. よく使うコマンド init add commit push clone branch checkout fetch merge rebase pull status rm reset remote tag log mergetool revert 19個

    Gitのよく使うコマンド
    syou6162
    syou6162 2012/09/30
  • アリスとボブのGitシリーズが本になりました! - ザリガニが見ていた...。

    サポート情報を追記しました。 アリスとボブのGitシリーズとは、4年前の2008年9月5日から始まる以下の一連の日記です。 アリスとボブになりきってgitをちゃんと理解したい! - ザリガニが見ていた...。 アリスとボブのコラボレーション、gitをちゃんと理解したい! - ザリガニが見ていた...。 アリスとボブのサーバー、git pushをちゃんと理解したい! - ザリガニが見ていた...。 アリスがチャレンジなコードを書く時、git branchをちゃんと理解したい! - ザリガニが見ていた...。 これらの日記は、最近になってもじわじわブックマークされ続けている隠れた人気記事です。(ありがたいことです、感謝) 上記の日記がベースとなって、書籍化のお話を頂き、半年かけて執筆しました。(超スローペースです) アリスとボブのGit入門レッスン(Amazonへのリンク) アリスとボブのGi

    アリスとボブのGitシリーズが本になりました! - ザリガニが見ていた...。
    syou6162
    syou6162 2012/09/21
  • gitでサブモジュールを削除する | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 git submodule で他のリポジトリ(以下「サブモジュール」)の内容を埋め込むことが簡単にできるのですが、 ごく稀に追加したサブモジュールを削除したくなる場合があります。 サブモジュールの追加や更新は git submodule add や git submodule update で簡単にできるものの、 何故か git submodule rm サブコマンドはありません。 どうすれば削除できるのでしょうか。 解決方法 submodule_name='The name of a submodule you want to remove.' submodule_path="$(git config --file .gitmodules --get "submodule.$submodule_name.path")" git rm --cached "$submodule_pat

    gitでサブモジュールを削除する | Webシステム開発/教育ソリューションのタイムインターメディア
  • gitコマンドの自分用まとめ - kenbeese's blog

    git remote show [remotename] 引数なしでpull、pushした場合に何を取ってくるかわかる。 git pull [remote] [remotebranch] リモートのブランチをpullする git push [remote] [localbranch] 新しくブランチをpushする場合 git push -u [remote] [localbranch] 新しくブランチをpushする場合(pullもできるようにする。上記のではpushのみしかできない) git push [remote] [localbranch]:[remotebranch] リモートのブランチの名前を変えたい場合 git push [remote] :[remotebranch] リモートにあるブランチを削除 git status -uno アントラックファイルを無視してステータス

    gitコマンドの自分用まとめ - kenbeese's blog
    syou6162
    syou6162 2012/08/28
  • git rebaseって超便利じゃね? - Seasons.NET

    Gitでとても便利だと思っているのが、rebaseというコマンド。 ブランチを切った時点からオリジナルは刻一刻と変化していくわけで、 自分のブランチはあくまで現在最新のオリジナルに対するパッチである 必要がある場合は、このrebaseというコマンドを使って、オリジナル(HEAD)と マージすると、最新のオリジナル(HEAD)に対して、ブランチを切ったことになります。 これチョー便利じゃね? 以下、git-rebaseから引用 git-rebase を使用して一連のパッチを最新に保つ リモート追跡ブランチ "origin" の上にブランチ "mywork" を作成し、幾つかコミットを作成したとします: $ git checkout -b mywork origin $ vi file.txt $ git commit $ vi otherfile.txt $ git commit ... m

    git rebaseって超便利じゃね? - Seasons.NET
    syou6162
    syou6162 2012/08/21
  • Git道場#1に参加しました と、pullとpull --rebase備忘録 #gitdojo - kk_Atakaの日記

    概要 Git道場 - Git道場 (Git Dojo) 対象者が merge / rebaseにちょっと自信がない conflictが怖い まさにそんな状況だったので、打破するために参加しました。 心「Git総論、心構え」 @iwamatsuさんの講義 Gitにはリモートリポジトリ、ローカルリポジトリがある 集中型のリポジトリにはリモートリポジトリとローカルリポジトリの区別がない 皆のリポジトリなので履歴参照などはすべてリポジトリを見にいかなければならない 分散型では、主な作業はローカルで行い、データを管理できる ローカルリポジトリからリモートリポジトリに反映(プッシュ)する事で他人と共有 ローカルリポジトリは俺のもの、リモートリポジトリは皆のもの Gitは頑健である Gitは時間的な変遷を管理する 昨日のこの時間何してたかな? testブランチを消してもコミットは残っている 作業履歴が残

    Git道場#1に参加しました と、pullとpull --rebase備忘録 #gitdojo - kk_Atakaの日記
    syou6162
    syou6162 2012/08/21