カテゴリー別アーカイブ: メモ

gitでリモートからfetch等失敗する場合

git fetchで、

remote: Counting objects: 3104, done.
remote: Compressing objects: 100% (2558/2558), done.
packet_write_wait: Connection to 54.248.105.89: Broken pipe/s
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

のようなエラーになった場合の対処


git config --add core.compression 0


git fetch --depth 1

~/.gitconfig

[core]
excludesfile = /Users/XXXXX/.gitignore_global
compression = 0
[difftool “sourcetree”]
cmd = opendiff \”$LOCAL\” \”$REMOTE\”
path =
[mergetool “sourcetree”]
cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \”$LOCAL\” \”$REMOTE\” -ancestor \”$BASE\” -merge \”$MERGED\”
trustExitCode = true
[user]
name = XXXXXXXXXXX
email =
[http]
postBuffer = 4096000000

yumでCentOSにインストールした古いgitを削除し、新しいgitを入れなおす

前提
gitのソースをダウンロードし、ビルドしてインストールするため、gcc、makeなどの開発ツールが必要。

rootでログイン

開発ツールが入っていない場合はインストール

yum groupinstall "Development Tools"

※2016.04.15追記

まずgit本体
https://www.kernel.org/pub/software/scm/git/
へアクセスし、最新のgitのバージョンを確認

yum remove git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker wget
wget https://www.kernel.org/pub/software/scm/git/git-X.X.X.tar.gz
tar -zxf git-X.X.X.tar.gz
cd git-X.X.X
make prefix=/usr/local all
make prefix=/usr/local install
hash -r
git --version

※2016.01.20 hash -r のコマンドを追加。(バージョンアップ後に、yumで元々入っていた/usr/bin/gitを見ようとしてno such fileが出るため。)
※2016.04.15 yumでインストールするパッケージにwgetを追加

次にマニュアル

gitのバージョンと同じマニュアルをダウンロードして解凍

wget https://www.kernel.org/pub/software/scm/git/git-manpages-X.X.X.tar.gz
mkdir /usr/local/git-manpages-X.X.X
tar zxf git-manpages-X.X.X.tar.gz -C /usr/local/git-manpages-X.X.X
cd /usr/local/
chown -R root:root git-manpages-X.X.X
chmod a+r git-manpages-X.X.X
chmod a+x git-manpages-X.X.X

各ユーザの.bash_profileに以下追記

export MANPATH="/usr/local/git-manpages-X.X.X:$MANPATH"