カテゴリー : Git

[Git] ファイル名やディレクトリ名の大文字/小文字の変更方法

git でファイル名やディレクトリ名の大文字/小文字を変更するには git mv コマンドを使えばいいらしいです。

git mv -f test/document/products.coffee test/document/Products.coffee

単に mv コマンドだけだと git status に表示されませんでした。

mv test/document/products.coffee test/document/Products.coffee
git status

参考情報

Gitでファイル名&ディレクトリ名の大文字/小文字を変更方法 – Qiita

[Git] Merge Commit を Revert する方法

git で、トピックブランチのマージを revert する方法をメモ。

まず、結論から書くと

-m 1 を付けて git revert すれば良いっぽいです。

git revert -m 1 063d4352e5c09c1981e8495a1932656735ea9c4e

以下、軽い解説付きで

merge commit の hash が 063d4352e5c09c1981e8495a1932656735ea9c4e とします。

git show 063d4352e5c09c1981e8495a1932656735ea9c4e
 
commit 063d4352e5c09c1981e8495a1932656735ea9c4e
Merge: a8c77d3 6a66237
Author: Tadashi Shigeoka <shigeoka@bakorer.com>
Date:   Wed Jul 23 16:03:57 2014 +0900
 
    Merge pull request #7421 from codenote/7379-example
 
    7379 sample

そのまま git revert すると、-m option が必要とエラーがでます。

git revert 063d4352e5c09c1981e8495a1932656735ea9c4e
error: Commit 063d4352e5c09c1981e8495a1932656735ea9c4e is a merge but no -m option was given.
fatal: revert failed

-m option を付けて git revert してみると、オプションの引数 parent number を指定する必要があるっぽいです。

git revert 063d4352e5c09c1981e8495a1932656735ea9c4e -m
error: switch `m' requires a value
usage: git revert [options] <commit-ish>...
   or: git revert <subcommand>
 
    --quit                end revert or cherry-pick sequence
    --continue            resume revert or cherry-pick sequence
    --abort               cancel revert or cherry-pick sequence
    -n, --no-commit       don't automatically commit
    -e, --edit            edit the commit message
    -s, --signoff         add Signed-off-by:
    -m, --mainline <n>    parent number
    --rerere-autoupdate   update the index with reused conflict resolution if possible
    --strategy <strategy>
                          merge strategy
    -X, --strategy-option <option>
                          option for merge strategy

-m 1 を付けて git revert すれば良いっぽいです。

git revert -m 1 063d4352e5c09c1981e8495a1932656735ea9c4e

以上です。


参考情報

GitでMerge CommitをRevertする方法 – Qiita

[Git] diff-highlight: command not found エラー

Mac で git の diff-highlight を使おうとしたら、コマンドが見つからないというエラーが発生しました。

% git diff
diff-highlight | less: diff-highlight: command not found

git のバージョンは 1.8.4.3

% git --version
git version 1.8.4.3

homebrew 経由で git インストールしているのですが diff-highlight への path が通っていないのが原因だったようです。

% ln -s /usr/local/opt/git/share/git-core/contrib/diff-highlight/diff-highlight  /usr/local/bin

シンボリックリンクを張ると、diff-highlight 使えました。

参考情報

Git の diff を美しく表示するために必要なたった 1 つの設定 #git – 詩と創作・思索のひろば (Poetry, Writing and Contemplation)

[HomeBrew]gitのバージョンアップをするためにやったこと | DevAchieve

[Git] .gitignore ファイルをカンタンに生成するサービス「gitignore.io」が便利!

.gitignore ファイルをカンタンに生成するサービス「gitignore.io」が便利すぎて、泣けました!

gitignore.io – Generate useful .gitignore files for your project

.gitignore ファイルを生成するサービス gitignore.io #git – Qiita [キータ]

今まで、どういうファイルを .gitignore に追加して、コミットしないようにすべきか、いちいち検索して調べてました。

例えば、Android や iOS アプリ開発用の .gitignore は下記のような感じでしょうか。

.gitignore for Android Development

curl http://gitignore.io/api/windows,linux,osx,eclipse,android > .gitignore

.gitignore for iOS Development

curl http://gitignore.io/api/osx,objective-c > .gitignore

[Git] CUI ツール「tig」のインストール手順

Git の CUI ツール「tig」を Mac でインストールする手順をメモ。

おなじみの homebrew でインストールする。

% brew install tig
==> Downloading http://jonas.nitro.dk/tig/releases/tig-1.1.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/tig/1.1 --sysconfdir=/usr/local/etc
==> make install
==> make install-doc-man
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
/usr/local/Cellar/tig/1.1: 14 files, 476K, built in 8 seconds

tig のインストールを確認する。

% which tig
/usr/local/bin/tig

使い方はこの辺を読む。

Tig の表示方法あれこれ #git #AdventCalendar #tig – Qiita はてなブックマーク - Tig の表示方法あれこれ #git #AdventCalendar #tig - Qiita

tig blameが良い #tig #git – Qiita はてなブックマーク - tig blameが良い #tig #git - Qiita

CUI な Git ブラウザ tig を入れてみた – Born Too Late はてなブックマーク - CUI な Git ブラウザ tig を入れてみた - Born Too Late

[Git] –no-ff (no fast-forward)をデフォルトで有効にする方法

git で –no-ff (no fast-forward)をデフォルトで有効にする設定方法をメモ。

alias (エイリアス) を作成する方法

git config --add alias.nffmerge 'merge --no-ff'

もしくは、.gitconfig に下記の内容を追記する。

[alias]
    nffmerge = merge --no-ff

mergeoptions (マージオプション) を指定する方法

master ブランチへマージするときに必ず –no-ff オプションを付けるための設定です。

他のブランチも設定したい場合は、branch.ブランチ名.mergeoptions で設定する。

git config branch.master.mergeoptions '--no-ff'

もしくは、.gitconfig に下記の内容を追記する。

[branch "master"]
    mergeoptions = --no-ff

以上です。

参考情報

CentOS6.3 へ Git を yum でインストール

CentOS6.3 へ Git を yum でインストールしました。

# yum -y install git
# git --version
git version 1.7.1

少しバージョンが古いですが、rpm とか入れずに普通に yum だけでインストールできました。

[Git] error: There was a problem with the editor ‘vi’. というエラーの解決方法

Git にて、git commit して Vim 上でコメント書いて、コミットしようとしたらエラーが発生しました。

■ エラーメッセージ

$ git commit
error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.

Git に使用するエディタを設定してあげればOKです。

■ Vim の Path を確認する

$ which vim
/usr/local/bin/vim

■ Git のコアエディターを Vim に設定する

$ git config --global core.editor "/usr/local/bin/vim"

以上です。

【参考】

git commitでエディタ編集後エラーとなる場合 – tenteteの日記 はてなブックマーク - git commitでエディタ編集後エラーとなる場合 - tenteteの日記

[Git] グローバルな .gitignore で全ての git リポジトリで無視するファイルを設定する方法

Git にて、.DS_Store のような無視したいファイルを間違ってコミットしてしまわないように、全てのリポジトリに適用される .gitignoreを作成しました。

■ ~/.gitignore の作成・編集

echo .DS_Store >> ~/.gitignore

■ git にホームディレクトリ以下の .gitignore を使う設定

git config --global core.excludesfile ~/.gitignore

これで、ホームディレクトリ以下の.gitignore で指定したファイルが全ての git リポジトリで無視されるようになりました。

ちなみに、git init で自動で生成される .gitignore にもちゃんと書いてあります。

# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
#   git config --global core.excludesfile ~/.gitignore_global

以上です。

【参考】

Gitを使い始めたらやっておきたい便利な設定いろいろ : アシアルブログ はてなブックマーク - Gitを使い始めたらやっておきたい便利な設定いろいろ : アシアルブログ

グローバルな.gitignore を設定して、すべてのgitリポジトリで無視するファイルを設定する|WEBデザイン Tips はてなブックマーク - グローバルな.gitignore を設定して、すべてのgitリポジトリで無視するファイルを設定する|WEBデザイン Tips

Git入門のための良記事まとめ

Gitを入門するときに役立ちそうな良記事をまとめてみました。(最終更新日:2013/11/18)

見えないチカラ: 【翻訳】Gitをボトムアップから理解する はてなブックマーク - 見えないチカラ: 【翻訳】Gitをボトムアップから理解する

Gitを使った開発・運用フローの紹介 | FIRN.JP はてなブックマーク - Gitを使った開発・運用フローの紹介 | FIRN.JP

たのしいGit – Nalsh’s Notes はてなブックマーク - たのしいGit - Nalsh's Notes

【派閥別】Gitのコミットを間違えたときの対処法まとめ – 本当は怖い情報科学101 はてなブックマーク - 【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖い情報科学101

Gitを使い始めたらやっておきたい便利な設定いろいろ : アシアルブログ はてなブックマーク - Gitを使い始めたらやっておきたい便利な設定いろいろ : アシアルブログ

git初心者向けのTipsなど – 0xFF はてなブックマーク - git初心者向けのTipsなど - 0xFF

hatena/Git-for-Designers · GitHub はてなブックマーク - hatena/Git-for-Designers · GitHub

git – 簡単ガイド はてなブックマーク - git - 簡単ガイド

あまり知られていないGitのTips – アジャイルSEを目指すブログ はてなブックマーク - あまり知られていないGitのTips - アジャイルSEを目指すブログ

git diff の使い方がほんの少し理解できた – murankの日記 はてなブックマーク - git diff の使い方がほんの少し理解できた - murankの日記

Gitのベストプラクティクスっぽいもの – this A moment はてなブックマーク - Gitのベストプラクティクスっぽいもの - this A moment

いつやるの?Git入門 v1.1.0 from Masakazu Matsushita

このスライドを読めば、基本的な実務フローを習得できそう。

以上です。(随時更新予定)