タグ別アーカイブ: scm

git-diff で知っておくと役立つオプション


 

そんなこんなで、gitを使うようになって約3ヶ月ほど、ソースをマージしたり、管理することが多くなったので、diffについて良い感じのオプションを出してみますー

% git diff [option] [対象]

-b (インデントの空白を無視する(インデントの違いはdiffの差分に出さない))
-w (whitespaceを完全に無視)
-B (空の改行を無視)
–cached (addしたものステージングしたファイルと現在の差分を見る)
–word-diff (diffをwordごとに出来る)

Android開発を初めて1ヶ月で学んだ5つの事


5つの事のまとめです。自分が思った所感なので個人の一意見です!!

引き継いで始めたプロジェクトですが、まだ1ヶ月程度のあまちゃんですが、学んだことを書いてみます。。(Android開発が面白くなってきた。)

  1. 基礎大事!!やりながらも学ぶことはできるけど、まずはJavaの構文など基本的なところはしっかりと身に付けておかないと行けないなぁと思った。引き継いだプロジェクトなのでソースコード自体を読むことができないとね!
  2. バグや間違いは単純なところまたはそこではないと思っていたところにある。(いつもそう、どうにかならないかな)
  3. @Override重要。。今どきのeclipseなら勝手に付けてくれるかつ、コンパイルエラーも出るはずなのになぜかついていない状態だった。それで間違いに気づかなかった。(そんなこともあるんだ)
  4. git最高!! リビジョンの移動が簡単なうえ快適すぎて助かった。過去のソースに戻れる。それがSVN違って一瞬でできるのが最高!!どんどん使いこなしたい!
  5. 不要なコメントアウトは消す! コメントのことではありません。コードのコメントは賛否両論あるけど、自分としては必要最低限ある方がいいと思います。ここで言っているのはソースを残すためのコメントアウトのことです。100行近いソースのコメントアウトはコードを見るのに邪魔な上、それをいつ有効にするかが明確にもなっていないので一生使われないと思う。そのためコメントアウトは極力避けて、削除しよう!!スクロールばっかでつらい。。
  6. 開発環境(Eclipseやエディタなど)はプロジェクトのみんな同じ設定にしておくことがいい気がした!少なくとも同じソースを編集する人は!そういったエディタの設定も一緒にプロジェクトのフォルダに入れてほしい。改行や括弧の位置などフォーマットの仕方とかが違っているだけで読みにくいという状態は避けたい!

という6つのことです。当たり前のことかもしれないけど、今回引き継いだコードがそうなってなかった中括弧の位置がファイルによって別々だしインデントもバラバラ。保守していく側としては本当にやりにくいとおもいました。

人は残らなくてもソースは残るので後に引き継ぐ人のために最高のコードを書けるように目指したい!!

最高の定義は人それぞれだけど、自分が思う最高を目指せばいいと思います。

 

 

git でaddしたファイルをキャンセルする方法


 

gitでコミットするファイルが多数あり、その中の一部のファイル(環境設定など)はこのコミットでは対象外にしたいファイルを指定したいときにいい方法がないかなと思っていた時に見つけたやり方です。

最初にすべてのファイルをaddする。

$ git add .

次に対象外にしたいファイルを以下のように指定する。

$ git reset HEAD [ファイル名]

その状態でコミット。

$ git commit -m 'commitします'

こうすることで一部のファイルを対象外にしてコミットすることができます。
一つ一つコミットするファイルを指定していけばできる事ですが、コミットするファイルが多くあり、一部ファイルを除きたいときには使えると思います。

gitでbranchやリビジョンの移動について


 

gitを使っていると一時的に過去のリビジョンに戻したいなぁーとか思う事もあると思います。
ちょっとそのやり方についてのメモ

 

以下のページを参考にさせていただきました。
http://d.hatena.ne.jp/willnet/20090904/1252081372

 

以下のようにして、戻したいリビジョンのハッシュ値とコミットメッセージを表示する。確認の意味で!

$ git log --oneline
5ccb266 コミットメッセージ4
1b91de3 コミットメッセージ3
780c3ae コミットメッセージ2
2bd3810 コミットメッセージ1

 
戻したいリビジョン番号を指定してチェックアウトする

$ git checkout 780c3ae

この状態ではどのブランチにも属していない状態となる(no branch)の状態。

$ git branch
* (no branch)
  dev
  master

 

そのあと何かしらしてコミットとかするのであればこの状態でブランチを切って、そのブランチで作業するとよさそう

ブランチ名は何でもいいと思うのですが、自分はリビジョンのハッシュ値を入れて切りました
$ git branch dev-test-780c3ae

以下のように「dev-test-780c3ae」が作成される
$ git branch
* (no branch)
  dev
  master
  dev-test-780c3ae

作成したブランチをチェックアウトして作業する!
$ git checkout dev-test-780c3ae

 

こんな感じで出来るかな!!柔軟に過去のリビジョンへ戻って行ったりできるね!
デバッグなどをしているとどのリビジョンで問題が発生しているかなどを確認するのにいろいろと便利だと思います!