joppot

コピペで絶対動く。説明を妥協しない

unix

Git diffで新規作成したファイル情報を表示させる

投稿日:

Pocket

planet-eclipse

概要

みなさんこんにちはcandleです。今回はgitのdiffを使ってどの様なファイルが作成されたか確認する方法を紹介します。
gitのdiffは一般にファイルの差分を表示させたりするために使うものですが、少し工夫をすれば、新しく作成したファイルの情報をみれます。


前提

gitがインストールされている。

gitを初期化する

まずは適当に、gitのリポジトリにするフォルダを用意しましょう。私はデスクトップに作ります。フォルダの名前は分かりやすく「shownewfiles」します。

cd Desktop/

mkdir shownewfiles

cd shownewfiles/

2. bash

下のコマンドを入力して、shownewfilsディレクトリをgitのリポジトリにします。

git init


ファイルを作成する

下のコマンドで一連のファイルを作成します。

touch index.html index.css index.js layout.css

index.htmlの中身を書きます。
index.htmlに下の内容を書いて保存しましょう。

<!doctype html>
<html lang="ja">
<head>
  <meta charset="UTF-8" />
  <title>hello</title>
</head>
<body>
  <h3>new file</h3>
</body>
</html>


git diff で新しいファイルの情報を出す

ひとまず、git diff してみましょう。

git diff

Shared Menubar

何も表示されないと思います。

対策として、ひとまず、gitのステージ(インデックス)に差分をあげます。

git add .

ステージに上げたファイルとの差分を取ることで新しく作成したファイルを確認できます。

git diff --staged

2. bash-3

上の表示はファイルの書き換え内容まで詳しく表示されていますが、どの様なファイルが作られたかどうか確認するには多少見づらいと思います。

ファイル情報の概要だけを知りたければ、–statオプションを付けて表示してみましょう。

git diff --staged --stat

Shared Menubar-1

新しく作成されたフィアルがわかりました。


新しく作成したファイルを削除する

例えば、ステージに新しく作成したファイルの内、実はコミットしたくないファイルが合ったとします。
削除したいファイルをステージからおろします。

git reset ファイル名

今回はlayout.cssを削除するという体で説明します。下のコマンドでlayout.cssをステージからおろします。

git reset layout.css

複数のファイルがある場合はステージにある全てのファイルをおろして編集した方が楽です。

git reset .

layout.cssを削除します。

rm layout.css

再び、ステージにツリーの状態をアップします。

git add .

ステージの差分を表示してみましょう。

git diff --staged --stat

2. bash-4

layout.cssがステージから消えました。
あとはコミットすれば良いと思います。

まとめ

もう少し簡単な方法があるかもしれませんが、今のところ私はこのやり方がベストなので、これを使っています。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-unix
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Macターミナルのカーソルの前のプロンプトに表示されている文字を消す

概要 みなさんこんにちはcanldeです。 ターミナルのプロンプトっていう言葉知っていますか? サイトによれば 「コンピューターにコマンドを入力する場所を表す画面上の表示。」 らしいです。 私はこの言 …

mysqlデータベースのバックアップと復元(リストア)

概要 みなさんこんにはcandleです。今回はmysqlのバックアップとリストアを試してみましょう。 前回くらいに、様々なバックアップを試しましたが、それを問題なくリストア(復元)できなくては、意味な …

Macターミナルのカーソルの前のプロンプトに表示されている文字をカスタマイズする

概要 皆さんこんにちはcandleです。今回は前回に引き続き、ターミナルのプロンプトに関してです。 プロンプトのカスタマイズをやっていきましょう。今回も、この本から抜粋します。 プロンプトで使用できる …

macターミナルのウィンドタイトルとタブ名を変更する

概要 みなさんこんにちはcandleです。 ターミナルのウィンドタイトルとタブ名を変更する企画をやっていきたいと思います。 ウィンドタイトルというのは何処かというと下の画像の部分になります。タブ名もそ …

正規表現を極めるその2

概要 みなさんこんにちはcandleです。今回は前回に引き続き、正規表現を勉強していきましょう。   前提 unixを使用するので、多少、unixコマンドになれていること   サン …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ