git use window dos窓と小技

git

メモメモ(^_^;;
●コード
chcp 932 <– sjis
chcp65001<-utf-8
DOS窓のプロパティでOKを押せとある。それとFontはラスターでないと化ける
chcp<–現在の文字コードが表示される。プロパティでも見れる。
ううむうまくいかないな・・・。

●.gitignore作成
は最初にtxtファイルで作成してそのファイルをshift+右クリックで開き別名で保存で行ける。viならそのまま .gitignore で作成できた。フォルダを見しするには以下。フォルダの直下内でも無視しない書き方ができる。

/folder1
!/folder1/folder1-1/folder1-1-2

 

●git log で変更者、変更日時等の変更履歴が表示されますが、変更されたファイル名を表示するには –stat, –numstat, –name-status, –name-only などで知ることができます。

gitコマンド

●特定のコミットをチェックアウト
$ git checkout 7aba6ab4b94bc5 -b feature/some-function
リモートブランチをチェックアウト
リモートを指定しなくてもうまい具合にトラックするようにしてくれるときがあるけど、こっちのほうが確実。

$ git checkout -b feature/some-function origin/feature/some-function
Branch feature/some-function set up to track remote branch feature/some-function from origin.
Switched to a new branch ‘feature/some-function’

●push
$ git push # THIS IS DANGER COMMAND
$ git push origin mybranch # GOOD

git push origin mybranchのようにブランチ名をわざわざ書かなくても、git push origin HEADでいけます。

●差分を見る
branchの切り替えで差分表示が違う
$git checkout br1
$git diff master br1

$git checkout master
$git diff master br1

二つのcommit間の差分を出力
git diff <コミットID1> <コミットID2>
差分を比較したい二つのコミットのコミットIDを指定してあげればOK。
コミットIDはgit logで確認しましょう。

現在のブランチの状態からの差分を出力
git diff <コミットID1>

二つのcommit間で差分があるファイル名の一覧を取得
git diff –name-only <コミットID1> <コミットID2>

二つのcommit間の差分をファイルを指定して出力
# ファイル名一覧取得
git diff –name-only <コミットID1> <コミットID2>

# ファイル名を指定して差分出力
git diff <コミットID1> <コミットID2> <ファイル名>
比較する二つのコミット間で変更されたファイルの数が多い場合などは差分出力しても何が何やらということがあるため、ファイル名だけ先に出力しファイル指定で差分を出力するケースです。
「変更されたファイルがそもそも少ない」という場合や「多くても全部出したい」という場合は基本編の通りコミットIDの出力だけで十分ですね。

おまけ
git diff にて比較対象のコミットを指定する<コミットID1>と<コミットID2>は指定順によって差分出力時の時系列を変更することもできます。
下記のような差分がある二つのコミットを比較する場合の例を見てみましょう。

git log –oneline
bbbbbbbbb コミット2
aaaaaaaaa コミット1

git diff aaaaaaaaa bbbbbbbbb
-コミット1
+コミット2
コミットの時系列的にはコミット1→コミット2なので正しいですね。
次はdiffのコミットIDの指定順を入れ替え

git diff bbbbbbbbb aaaaaaaaa
+コミット1
-コミット2
上記のように削除を表す-と追加を表す+が逆になるという結果となりました。
これは単純にdiffするときにコミットID1からコミットID2への変更点を出力しているからですね。
ちょっと考えればわかるだろ!って感じかもですが、diff取ったときに想定していたものと違う差分が出るとびっくりする時があるから覚えておくとそういう時に幸せになれるかもしれない。

No tags for this post.
タイトルとURLをコピーしました