Version 7 (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
リモートブランチのプル
.git/configに
[remote "upstream"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://github.com/upstreamer/upstream.git
などと記述し、
$ git pull upstream master
とする。ブランチを指定する場合は、masterを置き換える。
mercurialの文字化け
Mercurialで日本語のファイル名を扱うと、LinuxとWindowsで正しく共有できない。今のところ解決策は、Windows上ではcygwinのmercurialをutf-8環境で使えば解決できる。
$ LANG=ja_JP.utf-8 $ hg ....
fixutf8エクステンションを利用するとこの問題は解決できる。