wiki:pm/DVCS

Version 6 (modified by yuna, 13 years ago) (diff)

--

gitの文字化け

gitで日本語したファイル名は文字化けする。

$ git log --summary
...
 create mode 100644 "\343\203\206....txt"

下記のように設定すると文字化けしなくなる。

$ git config --global core.quotepath false
$ git log --summary
...
 create mode 100644 テスト.txt

その他のノウハウは、  http://www.atmarkit.co.jp/fjava/rensai4/devtool26/devtool26_1.html を参照。

gitで認証エラー

gitをサーバにプッシュしようとすると、下記のようなエラーが出ることがる。

# git push

(gnome-ssh-askpass:23903): Gtk-WARNING **: cannot open display:

OSをGUIモードでインストールした場合、認証をgnome-ssh-askpassを利用して行おうとしてウィンドウを起動することがある。その場合、上記のようなエラーが発生する。この場合、下記のように設定してやればよい。

# unset SSH_ASKPASS

不正な証明書でのSSL接続

オレオレ証明書でSSL接続すると、エラーになる。オレオレ証明書で、

$ git config --global http.sslVerify false

gitのtips

git addで追加したファイルのキャンセル

$ git rm --cached xxx

でaddで追加したファイルをコミット対処から除く。

コミット前に戻りたい

コミットをやり直したい場合は、reflogを使って次のようにする。(変更したファイルはそのまま)

$ git reflog
8855c0b HEAD@{0}: commit: test2.
b2e884f HEAD@{1}: commit (initial): test1.

$ git reset HEAD@{1}   // test2のコミットを取消
Unstaged change after reset:
M      test
$ git log
...
test1.

resetを行うときに

$ git reset --hard XXX

のようにすると、ファイルの変更内容も取り消すことができる。

コミットのやりなおし

間違えたユーザ名でコミットしてしまったときにコミットをやり直すコマンド。

$ git commit --amend --reset

リモートブランチの作成

リモートに作成したいブランチ上で

$ git push origin remote-branch-name

ブランチの削除

ローカルブランチの削除

% git branch -d mybranch

リモートブランチの削除

% git push origin :mybranch

mercurialの文字化け

Mercurialで日本語のファイル名を扱うと、LinuxとWindowsで正しく共有できない。今のところ解決策は、Windows上ではcygwinのmercurialをutf-8環境で使えば解決できる。

$ LANG=ja_JP.utf-8
$ hg ....

fixutf8エクステンションを利用するとこの問題は解決できる。