blog/content/post/2009/06/14/2009-06-14-00001176.md

180 lines
11 KiB
Markdown

---
title: gitのまとめ
author: kazu634
date: 2009-06-14
wordtwit_post_info:
- 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4653;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}'
categories:
- git
---
<div class="section">
<p>
<a href="http://d.hatena.ne.jp/sirocco634/20090606/1244266135" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/sirocco634/20090606/1244266135', '前回');" target="_blank">前回</a>の続きです。
</p>
<h4>
以前に行った変更を取り消す
</h4>
<p>
変更を取り消すには、オブジェクト名を把握する必要がある。オブジェクト名を知るには、例えば下記のコマンドを実行するといい。
</p>
<ul>
<li>
git log &#8211;pretty=short
</li>
<li>
git log <path>
</li>
<li>
git log &#8211;grep=<pattern>
</li>
<li>
git blame <path>
</li>
</ul>
<p>
変更を取り消すには3つの方法がある。
</p>
<ol>
<li>
過去のコミットを打ち消す新しいコミットを作る
</li>
<li>
ワークツリーで行った変更を元に戻す
</li>
<li>
インデックスへの記録を取り下げる
</li>
</ol>
<h4>
過去のコミットを打ち消す新しいコミットを作る
</h4>
<p>
git revert オブジェクト名を実施する。
</p>
<h4>
ワークツリーで行った変更を取り消す
</h4>
<p>
git checkout <path>
</p>
<h4>
歴史を書き換える
</h4>
<ol>
<li>
git reset HEAD^でコミットを捨てる
</li>
<li>
git reset &#8211;hard HEAD^でコミットもワークツリーも捨てる
</li>
<li>
git commit &#8211;amendでコミットをやり直す
</li>
</ol>
<h4>
ブランチを用いた並行開発
</h4>
<h5>
ブランチを作る
</h5>
<p>
現在の状態を元にして新しいブランチを作り、そのブランチ上で開発するには、git checkout -bコマンドを使います。
</p>
<pre class="syntax-highlight">
$ git checkout <span class="synSpecial">-b</span> ブランチ名
</pre>
<h5>
ブランチを知る
</h5>
<p>
現在自分がいるブランチを知るには、git branchコマンドを使います。
</p>
<h5>
ブランチを育てる
</h5>
<p>
普通にgit commitを行う
</p>
<h5>
ブランチを切り替える
</h5>
<p>
git checkout ブランチ名
</p>
<h4>
「git」に関連する最近のエントリ
</h4>
<ul>
<li>
<a href="http://d.hatena.ne.jp/sirocco634/20090606/1244266135" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/sirocco634/20090606/1244266135', ' gitのチュートリアル &#8211; その3 &#8211; 武蔵の日記');" target="_blank"> gitのチュートリアル &#8211; その3 &#8211; 武蔵の日記</a>
</li>
<li>
<a href="http://d.hatena.ne.jp/sirocco634/20090603/1244038520" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/sirocco634/20090603/1244038520', ' gitのチュートリアル &#8211; その2 &#8211; 武蔵の日記');" target="_blank"> gitのチュートリアル &#8211; その2 &#8211; 武蔵の日記</a>
</li>
<li>
<a href="http://d.hatena.ne.jp/sirocco634/20090602/1243951013" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/sirocco634/20090602/1243951013', ' gitのチュートリアル &#8211; 武蔵の日記');" target="_blank"> gitのチュートリアル &#8211; 武蔵の日記</a>
</li>
<li>
<a href="http://d.hatena.ne.jp/sirocco634/20090523/1243049860" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/sirocco634/20090523/1243049860', ' クレジットカードの判別アルゴリズム &#8211; 武蔵の日記');" target="_blank"> クレジットカードの判別アルゴリズム &#8211; 武蔵の日記</a>
</li>
</ul>
<div class="hatena-asin-detail">
<a href="http://www.amazon.co.jp/dp/477413838X/?tag=hatena_st1-22&ascsubtag=d-7ibv" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.amazon.co.jp/dp/477413838X/?tag=hatena_st1-22&ascsubtag=d-7ibv', '');"><img src="https://images-na.ssl-images-amazon.com/images/I/61Co2FMWsRL._SL160_.jpg" class="hatena-asin-detail-image" alt="WEB+DB PRESS Vol.50" title="WEB+DB PRESS Vol.50" /></a></p>
<div class="hatena-asin-detail-info">
<p class="hatena-asin-detail-title">
<a href="http://www.amazon.co.jp/dp/477413838X/?tag=hatena_st1-22&ascsubtag=d-7ibv" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://www.amazon.co.jp/dp/477413838X/?tag=hatena_st1-22&ascsubtag=d-7ibv', 'WEB+DB PRESS Vol.50');">WEB+DB PRESS Vol.50</a>
</p>
<ul>
<li>
<span class="hatena-asin-detail-label">作者:</span> <a href="http://d.hatena.ne.jp/keyword/%BF%F9%BB%B3%B5%AE%BE%CF" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%BF%F9%BB%B3%B5%AE%BE%CF', '杉山貴章');" class="keyword">杉山貴章</a>,<a href="http://d.hatena.ne.jp/keyword/%B1%A9%C0%B8%BE%CF%CD%CE" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%B1%A9%C0%B8%BE%CF%CD%CE', '羽生章洋');" class="keyword">羽生章洋</a>,<a href="http://d.hatena.ne.jp/keyword/%C0%EE%B8%FD%B9%CC%B2%F0" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%C0%EE%B8%FD%B9%CC%B2%F0', '川口耕介');" class="keyword">川口耕介</a>,<a href="http://d.hatena.ne.jp/keyword/%C0%C4%CC%DA%CC%F7" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%C0%C4%CC%DA%CC%F7', '青木靖');" class="keyword">青木靖</a>,<a href="http://d.hatena.ne.jp/keyword/%C4%E1%B2%AC%C4%BE%CC%E9" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%C4%E1%B2%AC%C4%BE%CC%E9', '鶴岡直也');" class="keyword">鶴岡直也</a>,<a href="http://d.hatena.ne.jp/keyword/%C4%B9%CC%EE%B2%ED%B9%AD" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%C4%B9%CC%EE%B2%ED%B9%AD', '長野雅広');" class="keyword">長野雅広</a>,<a href="http://d.hatena.ne.jp/keyword/%BF%B9%C5%C4%C1%CF" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%BF%B9%C5%C4%C1%CF', '森田創');" class="keyword">森田創</a>,<a href="http://d.hatena.ne.jp/keyword/%B0%CB%C6%A3%C4%BE%CC%E9" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%B0%CB%C6%A3%C4%BE%CC%E9', '伊藤直也');" class="keyword">伊藤直也</a>,<a href="http://d.hatena.ne.jp/keyword/%C9%F0%BC%D4%BE%BD%B5%AA" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%C9%F0%BC%D4%BE%BD%B5%AA', '武者晶紀');" class="keyword">武者晶紀</a>,<a href="http://d.hatena.ne.jp/keyword/%A5%DF%A5%C3%A5%AF" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%A5%DF%A5%C3%A5%AF', 'ミック');" class="keyword">ミック</a>,<a href="http://d.hatena.ne.jp/keyword/%B9%E2%CE%D3%C5%AF" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%B9%E2%CE%D3%C5%AF', '高林哲');" class="keyword">高林哲</a>,<a href="http://d.hatena.ne.jp/keyword/%B7%AA%B8%B6%B7%E6%B5%FD" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%B7%AA%B8%B6%B7%E6%B5%FD', '栗原傑享');" class="keyword">栗原傑享</a>,<a href="http://d.hatena.ne.jp/keyword/%CA%C6%CE%D3%C0%B5%CC%C0" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%CA%C6%CE%D3%C0%B5%CC%C0', '米林正明');" class="keyword">米林正明</a>,<a href="http://d.hatena.ne.jp/keyword/%BE%AE%BB%F4%C3%C6" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%BE%AE%BB%F4%C3%C6', '小飼弾');" class="keyword">小飼弾</a>,<a href="http://d.hatena.ne.jp/keyword/%B3%D1%C5%C4%C4%BE%B9%D4" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%B3%D1%C5%C4%C4%BE%B9%D4', '角田直行');" class="keyword">角田直行</a>,<a href="http://d.hatena.ne.jp/keyword/%B6%B6%CB%DC%C0%B5%C6%C1" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%B6%B6%CB%DC%C0%B5%C6%C1', '橋本正徳');" class="keyword">橋本正徳</a>,<a href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%DE%A4%C1%A4%E42" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%A4%CF%A4%DE%A4%C1%A4%E42', 'はまちや2');" class="keyword">はまちや2</a>,<a href="http://d.hatena.ne.jp/keyword/%B5%D7%CB%F6%CE%B4%CD%B5" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%B5%D7%CB%F6%CE%B4%CD%B5', '久末隆裕');" class="keyword">久末隆裕</a>,<a href="http://d.hatena.ne.jp/keyword/Junio%20C%20Hamano" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/Junio%20C%20Hamano', 'Junio C Hamano');" class="keyword">Junio C Hamano</a>,<a href="http://d.hatena.ne.jp/keyword/%A5%B0%A5%CB%A5%E3%A5%E9%A4%AF%A4%F3" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%A5%B0%A5%CB%A5%E3%A5%E9%A4%AF%A4%F3', 'グニャラくん');" class="keyword">グニャラくん</a>,<a href="http://d.hatena.ne.jp/keyword/%A4%E4%A4%DE%A4%C0%A4%A2%A4%AD%A4%E9" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%A4%E4%A4%DE%A4%C0%A4%A2%A4%AD%A4%E9', 'やまだあきら');" class="keyword">やまだあきら</a>,<a href="http://d.hatena.ne.jp/keyword/WEB%2BDB%20PRESS%CA%D4%BD%B8%C9%F4" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/WEB%2BDB%20PRESS%CA%D4%BD%B8%C9%F4', 'WEB+DB PRESS編集部');" class="keyword">WEB+DB PRESS編集部</a>
</li>
<li>
<span class="hatena-asin-detail-label">出版社/メーカー:</span> <a href="http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/keyword/%B5%BB%BD%D1%C9%BE%CF%C0%BC%D2', '技術評論社');" class="keyword">技術評論社</a>
</li>
<li>
<span class="hatena-asin-detail-label">発売日:</span> 2009/04/24
</li>
<li>
<span class="hatena-asin-detail-label">メディア:</span> 大型本
</li>
<li>
<span class="hatena-asin-detail-label">購入</span>: 24人 <span class="hatena-asin-detail-label">クリック</span>: 235回
</li>
<li>
<a href="http://d.hatena.ne.jp/asin/477413838X" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://d.hatena.ne.jp/asin/477413838X', 'この商品を含むブログ (95件) を見る');" target="_blank">この商品を含むブログ (95件) を見る</a>
</li>
</ul>
</div>
<div class="hatena-asin-detail-foot">
</div>
</div>
</div>