<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: yanskun</title>
    <description>The latest articles on DEV Community by yanskun (@yanskun).</description>
    <link>https://dev.to/yanskun</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F222565%2F14325926-522c-4ae4-a416-da87de2ea07f.jpeg</url>
      <title>DEV Community: yanskun</title>
      <link>https://dev.to/yanskun</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yanskun"/>
    <language>en</language>
    <item>
      <title>もっと早く出会いたかった git command 達</title>
      <dc:creator>yanskun</dc:creator>
      <pubDate>Thu, 05 Sep 2019 15:29:13 +0000</pubDate>
      <link>https://dev.to/seattleconsulting/git-command-26cm</link>
      <guid>https://dev.to/seattleconsulting/git-command-26cm</guid>
      <description>&lt;h1&gt;
  
  
  はじめに
&lt;/h1&gt;

&lt;p&gt;いわゆる ｎ番煎じ&lt;br&gt;
業務で使うコマンドの中でも特に気に入ってるものを並べました。&lt;/p&gt;

&lt;p&gt;初心者から、中級者向け？だと思います。&lt;/p&gt;

&lt;p&gt;コマンドを覚えると開発がより楽しくなると思います。&lt;br&gt;
あんなこともできるこんなこともできる、できるが増えるって素晴らしいですね。&lt;/p&gt;

&lt;h2&gt;
  
  
  便利コマンド
&lt;/h2&gt;

&lt;h3&gt;
  
  
  差分をステージングエリアに追加する
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add -p
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★★★&lt;br&gt;
基本的に、このオプションでしか add はしない。&lt;/p&gt;

&lt;h3&gt;
  
  
  差分を取り消す
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout {FILE_NAME}
git checkout # 全部なかったことに。
git checkout -p # もある
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★☆☆☆☆&lt;br&gt;
時々使うけど、結構危険だと思う。&lt;/p&gt;

&lt;h3&gt;
  
  
  ステージングエリアから戻す(add する前に戻す)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset {FILE_NAME}
git reset # 全部戻す
git reset -p # もある
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度:★★★☆☆&lt;br&gt;
コミットしようとした時に、「あれなんでこいついるの？」ってなった時に使う&lt;br&gt;
コミット前には必ず &lt;code&gt;git status&lt;/code&gt; しましょう。&lt;/p&gt;

&lt;h3&gt;
  
  
  指定したユーザーのコミットログを見る
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log --committer={USER_NAME}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;重要度:★★☆☆☆&lt;br&gt;
怪しい人を見つけた時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  コミットIDを指定して、中身を確認する
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git show {COMMIT_ID}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;重要度：★★★★☆&lt;br&gt;
怪しいコミットがあった時に。&lt;br&gt;
pull したらコミットをたくさん取り込んだ時によく使う。&lt;/p&gt;

&lt;h3&gt;
  
  
  別のブランチからファイル/コミットを持ってくる
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout {BRANCH_NAME} {FILE_NAME}

git cherry-pick {COMMIT_ID}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★☆☆&lt;br&gt;
別のブランチの作業者が作った共通部品を盗みたい時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  直前のコミットを修正する
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit --amend # コミットメッセージも変えられる
git commit --amend --no-edit # vim をスキップ
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度:★★★★☆&lt;br&gt;
「この差分もこのコミットに乗せたい」という時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  ファイル名の変更
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git mv {OLD_NAME} {NEW_NNAME}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★★★&lt;br&gt;
普通にエクスプローラーから名前をすると delete と create になってしまう。&lt;br&gt;
これでファイル名を変更するとログに変更が残るから嬉しい。&lt;br&gt;
（これもオプションがあるわけじゃないけど、意外と使ってる人が少ない...。のでランクイン)&lt;/p&gt;

&lt;h3&gt;
  
  
  特定のファイルの歴史を確認
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log -- {FILE_NAME}
git blame {FILE_NAME}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度:★★★☆☆&lt;/p&gt;

&lt;p&gt;blame の方が有名だけど、 log で見るのも便利な時がある。&lt;/p&gt;

&lt;h3&gt;
  
  
  マージ済みのブランチの確認
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch --merged
git branch --no-merged # その逆
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★★☆&lt;br&gt;
削除して良いローカルブランチを見つける。&lt;/p&gt;

&lt;h3&gt;
  
  
  直前のブランチを指定して〇〇
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout - # ブランチ切り替え
git merge - #  マージ
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★★★&lt;br&gt;
ひょっとしたら一番便利かもしれない。&lt;br&gt;
ブランチ名が長くて打ってらんない時に。&lt;br&gt;
ブランチ名を忘れちゃった時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  マージしたらコンフリクトしたのでなかったことに
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git merge --abort
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★☆☆&lt;br&gt;
他の人に聞かないと解消できない時に。&lt;/p&gt;

&lt;h3&gt;
  
  
  ざっくりした差分をみる
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git diff --stat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;役立ち度：★★★☆☆&lt;br&gt;
ファイル名と、そのファイルが何行変わったかだけを表示&lt;/p&gt;

&lt;h3&gt;
  
  
  ステージングエリアの差分を見る
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git diff --cached
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;立ち度：★★★★☆&lt;br&gt;
直前のコミットと、ステージングエリアとの差分を見る。&lt;br&gt;
add + commit を連結して考えてると不要。（結構危険な考えです、やめましょう）&lt;br&gt;
あれ？これコミットしたら何がリモートに上がっちゃうんだろう、と気になって見てください。&lt;/p&gt;

&lt;h3&gt;
  
  
  リモート削除されたローカルブランチを削除する
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote prune origin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;立ち度：★★★☆☆&lt;br&gt;
branch 名の予測変換が有効になっている場合、&lt;br&gt;
削除されたブランチ名に勝手に変換されてしまって &lt;br&gt;
嫌な気持ちになったことないでしょうか？僕はあります、たくさん&lt;br&gt;
時々綺麗にすると家と同じで気持ちがいいです。&lt;/p&gt;

&lt;h2&gt;
  
  
  ネタ系
&lt;/h2&gt;

&lt;h3&gt;
  
  
  コミット数のランキング
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git shortlog --summary -n
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;楽しさ:★★★★☆&lt;br&gt;
努力を誰となく認められたい時に。&lt;br&gt;
Git はあなたのコミット数を見てくれてます。&lt;/p&gt;

&lt;h2&gt;
  
  
  最後に
&lt;/h2&gt;

&lt;p&gt;どうでしょうか。&lt;br&gt;
git command でもっと楽しもうって気になれましたでしょうか。&lt;br&gt;
CLI での git 操作ができるようになるともっと楽しく開発ができるかもしれません。&lt;br&gt;
僕は楽しいです。&lt;/p&gt;

&lt;p&gt;結構便利コマンド多いなって思います。&lt;br&gt;
shell環境整えたら git command を愛する人になったので、たくさん知りたいです。&lt;br&gt;
「これも使いなよ」っていう、とっておきのコマンドがあったら教えてください。&lt;/p&gt;

&lt;h2&gt;
  
  
  おまけ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  僕の git の alias を晒します
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;＄ git config --list | grep alias
alias.b=branch
alias.s=status
alias.co=checkout
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;あんまりたくさん作ってもしょうがないかな派です。&lt;/p&gt;

&lt;p&gt;ありがとうございました。&lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
