git をコマンドラインから使って、ソースコードなどをリポジトリから clone する場合は、こんなコマンドを実行することになります:
# git clone https://git.xxx.com/git/Project/app.git

リポジトリにアクセスするのに ID とパスワードによる認証が必要な場合もあります。そんな時は URL の中に ID(username) を埋め込んで、こんな感じで指定します:
# git clone https://username@git.xxx.com/git/Project/app.git
Password: (ここでパスワードを聞かれるので入力)

ここまでは特別な情報ではないです。

さて、この ID がメールアドレスだったりすると、当然 @ 文字が含まれます。例えば ID が username@xxx.com の時に、上記コマンドをそのまま実行しようとして、
# git clone https://username@xxx.com@git.xxx.com/git/Project/app.git
のようなコマンドを実行するとエラーになります。このケースだと xxx.com@git.xxx.com というサーバーに対して、username という ID でリクエストをしていることになるからです。


ではどうするか? 正解は ~/.netrc というファイルを用意して、以下の内容を記述します:
machine git.xxx.com
login username@xxx.com
password XXXXXXXX

この状態で以下のコマンドを実行します。これで clone できます:
# git clone https://git.xxx.com/git/Project/app.git

GUI のツールだとこの辺り気にせずできるんだろうか? でもコマンドラインだとこういう裏ワザというか回避方法知ってないと、いざって時に戸惑うんだよね。


(2014/Dec/09 追記)
git 1.7.9 以降であれば git-credential を使うべき、という指摘をいただきました。