wiki:pm/DVCS

Version 8 (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エクステンションを利用するとこの問題は解決できる。

トピックブランチのなめの付け方 =s

  • OpenStack?
    • bp/12345 BluePrint?(新機能の提案)
    • bug/12345 バグ
  • jQuery
    • 1.8/#12345/ajax
    • 1.8/#12356/CallBacks
    • 次にリリースするバージョン番号/Issue ID/対応するモジュール名