参考にさせて頂いたページ
さくらのレンタルサーバ(スタンダード)にGitをインストール - テクスト讃歌
さくらのレンタルサーバにgitを入れる : pthread_create 云々 – DOOM! DOOMER!! DOOMEST!?
まずはログイン
さくらインターネットのレンタルサーバーにmacのターミナルでログインする - Motomichi Works Blog
CentOSなどyumが使える環境ではこちら
vagrantその13 yumでインストールしたgitのバージョンを上げるというか、アンインストールしてソースからインストールしなおす - Motomichi Works Blog
wgetでgitのソースコードを取得する
参考ページさくらのレンタルサーバ(スタンダード)にGitをインストール - テクスト讃歌にならって以下のようにコマンドを実行した。
cd ~
mkdir local
mkdir gitinstall
cd gitinstall
wget http://git-core.googlecode.com/files/git-1.9.0.tar.gz
ls
そうすると
git-1.9.0.tar.gz
と表示されるので、ダウンロードされたのが確認できる。
ダウンロードするgitのバージョンについては、都度最新のものを取得するのが良さそう。
解凍する
tar xjvf git-1.9.0.tar.gz
ls
と実行して、
git-1.9.0 git-1.9.0.tar.gz
と表示されて、解凍されたのがわかる。
ソースコードからgitをビルドするけどエラーが出た
失敗したけど、一応記録として残しておく
gmake
を実行した。
gmake
GIT_VERSION = 1.9.0
* new build flags
CC credential-store.o
* new link flags
CC abspath.o
〜中略〜
CC xdiff/xpatience.o
CC xdiff/xhistogram.o
AR xdiff/lib.a
LINK git-credential-store
libgit.a(run-command.o): In function `start_async':
/home/utility/gitinstall/git-1.9.0/run-command.c:719: undefined reference to `pthread_create'
libgit.a(preload-index.o): In function `preload_index':
/home/utility/gitinstall/git-1.9.0/preload-index.c:94: undefined reference to `pthread_create'
gmake: *** [git-credential-store] Error 1
gitのビルドを再度やる
ここからは[http://g-taki.com/wordpress/web/6812.html:title]を参考にさせて頂いた。
./configure --prefix=$HOME/local--enable-pthreads=-pthread
を実行した。
--prefixで指定したディレクトリにビルドするみたい。
次に、
gmake all
を実行した。
gmake all
* new build flags
CC credential-store.o
CC abspath.o
CC advice.o
〜中略〜
GEN bin-wrappers/test-urlmatch-normalization
GEN bin-wrappers/test-wildmatch
GEN git-remote-testgit
みたいな感じで表示されて、エラーは出なかったので今度は大丈夫っぽい。
次に下記のコマンドを実行した。
gmake install
gitコマンド使えるか確認してみる
git --version
を実行してみたら
git version 1.9.3
と表示された。
最初に作成したlocalディレクトリの中身は
さっき作成したlocalディレクトリはというとlocalディレクトリの中で
ls -a
を実行してみると
. .. bin lib lib exec share
と表示された。
treeみたいに表示してみる
tree コマンドが無い環境で tree コマンドを実現 - Qiitaを参考にさせて頂いて
pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g'
を実行したら
/home/utility/local
|--bin
| |--git
| |--git-cvsserver
| |--git-receive-pack
| |--git-shell
| |--git-upload-archive
| |--git-upload-pack
| |--gitk
|--lib
| |--perl5
| | |--5.8
| | | |--mach
| | | | |--perllocal.pod
| | |--site_perl
| | | |--5.8
| | | | |--Error.pm
| | | | |--Git
| | | | |--Git.pm
| | | | | |--I18N.pm
| | | | | |--IndexInfo.pm
| | | | | |--SVN
| | | | | |--SVN.pm
| | | | | | |--Editor.pm
| | | | | | |--Fetcher.pm
| | | | | | |--GlobSpec.pm
| | | | | | |--Log.pm
| | | | | | |--Memoize
| | | | | | | |--YAML.pm
| | | | | | |--Migration.pm
| | | | | | |--Prompt.pm
| | | | | | |--Ra.pm
| | | | | | |--Utils.pm
| | | | |--mach
| | | | | |--auto
| | | | | | |--Git
| | | | | | | |--.packlist
|--libexec
| |--git-core
| | |--git
| | |--git-add
| | |--git-add--interactive
| | |--git-am
| | |--git-annotate
| | |--git-apply
| | |--git-archimport
| | |--git-archive
| | |--git-bisect
| | |--git-bisect--helper
| | |--git-blame
| | |--git-branch
| | |--git-bundle
| | |--git-cat-file
| | |--git-check-attr
| | |--git-check-ignore
| | |--git-check-mailmap
| | |--git-check-ref-format
| | |--git-checkout
| | |--git-checkout-index
| | |--git-cherry
| | |--git-cherry-pick
| | |--git-citool
| | |--git-clean
| | |--git-clone
| | |--git-column
| | |--git-commit
| | |--git-commit-tree
| | |--git-config
| | |--git-count-objects
| | |--git-credential
| | |--git-credential-cache
| | |--git-credential-cache--daemon
| | |--git-credential-store
| | |--git-cvsexportcommit
| | |--git-cvsimport
| | |--git-cvsserver
| | |--git-daemon
| | |--git-describe
| | |--git-diff
| | |--git-diff-files
| | |--git-diff-index
| | |--git-diff-tree
| | |--git-difftool
| | |--git-difftool--helper
| | |--git-fast-export
| | |--git-fast-import
| | |--git-fetch
| | |--git-fetch-pack
| | |--git-filter-branch
| | |--git-fmt-merge-msg
| | |--git-for-each-ref
| | |--git-format-patch
| | |--git-fsck
| | |--git-fsck-objects
| | |--git-gc
| | |--git-get-tar-commit-id
| | |--git-grep
| | |--git-gui
| | |--git-gui--askpass
| | |--git-hash-object
| | |--git-help
| | |--git-http-backend
| | |--git-imap-send
| | |--git-index-pack
| | |--git-init
| | |--git-init-db
| | |--git-instaweb
| | |--git-log
| | |--git-ls-files
| | |--git-ls-remote
| | |--git-ls-tree
| | |--git-mailinfo
| | |--git-mailsplit
| | |--git-merge
| | |--git-merge-base
| | |--git-merge-file
| | |--git-merge-index
| | |--git-merge-octopus
| | |--git-merge-one-file
| | |--git-merge-ours
| | |--git-merge-recursive
| | |--git-merge-resolve
| | |--git-merge-subtree
| | |--git-merge-tree
| | |--git-mergetool
| | |--git-mergetool--lib
| | |--git-mktag
| | |--git-mktree
| | |--git-mv
| | |--git-name-rev
| | |--git-notes
| | |--git-p4
| | |--git-pack-objects
| | |--git-pack-redundant
| | |--git-pack-refs
| | |--git-parse-remote
| | |--git-patch-id
| | |--git-prune
| | |--git-prune-packed
| | |--git-pull
| | |--git-push
| | |--git-quiltimport
| | |--git-read-tree
| | |--git-rebase
| | |--git-rebase--am
| | |--git-rebase--interactive
| | |--git-rebase--merge
| | |--git-receive-pack
| | |--git-reflog
| | |--git-relink
| | |--git-remote
| | |--git-remote-ext
| | |--git-remote-fd
| | |--git-remote-testsvn
| | |--git-repack
| | |--git-replace
| | |--git-request-pull
| | |--git-rerere
| | |--git-reset
| | |--git-rev-list
| | |--git-rev-parse
| | |--git-revert
| | |--git-rm
| | |--git-send-email
| | |--git-send-pack
| | |--git-sh-i18n
| | |--git-sh-i18n--envsubst
| | |--git-sh-setup
| | |--git-shell
| | |--git-shortlog
| | |--git-show
| | |--git-show-branch
| | |--git-show-index
| | |--git-show-ref
| | |--git-stage
| | |--git-stash
| | |--git-status
| | |--git-stripspace
| | |--git-submodule
| | |--git-svn
| | |--git-symbolic-ref
| | |--git-tag
| | |--git-unpack-file
| | |--git-unpack-objects
| | |--git-update-index
| | |--git-update-ref
| | |--git-update-server-info
| | |--git-upload-archive
| | |--git-upload-pack
| | |--git-var
| | |--git-verify-pack
| | |--git-verify-tag
| | |--git-web--browse
| | |--git-whatchanged
| | |--git-write-tree
| | |--mergetools
| | | |--araxis
| | | |--bc3
| | | |--codecompare
| | | |--deltawalker
| | | |--diffmerge
| | | |--diffuse
| | | |--ecmerge
| | | |--emerge
| | | |--gvimdiff
| | | |--gvimdiff2
| | | |--kdiff3
| | | |--kompare
| | | |--meld
| | | |--opendiff
| | | |--p4merge
| | | |--tkdiff
| | | |--tortoisemerge
| | | |--vimdiff
| | | |--vimdiff2
| | | |--xxdiff
|--share
| |--git-core
| | |--templates
| | | |--branches
| | | |--description
| | | |--hooks
| | | | |--applypatch-msg.sample
| | | | |--commit-msg.sample
| | | | |--post-update.sample
| | | | |--pre-applypatch.sample
| | | | |--pre-commit.sample
| | | | |--pre-push.sample
| | | | |--pre-rebase.sample
| | | | |--prepare-commit-msg.sample
| | | | |--update.sample
| | | |--info
| | | | |--exclude
| |--git-gui
| | |--lib
| | | |--about.tcl
| | | |--blame.tcl
| | | |--branch.tcl
| | | |--branch_checkout.tcl
| | | |--branch_create.tcl
| | | |--branch_delete.tcl
| | | |--branch_rename.tcl
| | | |--browser.tcl
| | | |--checkout_op.tcl
| | | |--choose_font.tcl
| | | |--choose_repository.tcl
| | | |--choose_rev.tcl
| | | |--class.tcl
| | | |--commit.tcl
| | | |--console.tcl
| | | |--database.tcl
| | | |--date.tcl
| | | |--diff.tcl
| | | |--encoding.tcl
| | | |--error.tcl
| | | |--git-gui.ico
| | | |--index.tcl
| | | |--line.tcl
| | | |--logo.tcl
| | | |--merge.tcl
| | | |--mergetool.tcl
| | | |--msgs
| | | | |--bg.msg
| | | | |--de.msg
| | | | |--el.msg
| | | | |--fr.msg
| | | | |--hu.msg
| | | | |--it.msg
| | | | |--ja.msg
| | | | |--nb.msg
| | | | |--pt_br.msg
| | | | |--ru.msg
| | | | |--sv.msg
| | | | |--zh_cn.msg
| | | |--option.tcl
| | | |--remote.tcl
| | | |--remote_add.tcl
| | | |--remote_branch_delete.tcl
| | | |--search.tcl
| | | |--shortcut.tcl
| | | |--spellcheck.tcl
| | | |--sshkey.tcl
| | | |--status_bar.tcl
| | | |--tclIndex
| | | |--themed.tcl
| | | |--tools.tcl
| | | |--tools_dlg.tcl
| | | |--transport.tcl
| | | |--win32.tcl
| | | |--win32_shortcut.js
| |--gitk
| | |--lib
| | | |--msgs
| | | | |--bg.msg
| | | | |--de.msg
| | | | |--es.msg
| | | | |--fr.msg
| | | | |--hu.msg
| | | | |--it.msg
| | | | |--ja.msg
| | | | |--pt_br.msg
| | | | |--ru.msg
| | | | |--sv.msg
| |--gitweb
| | |--gitweb.cgi
| | |--static
| | | |--git-favicon.png
| | | |--git-logo.png
| | | |--gitweb.css
| | | |--gitweb.js
みたいな感じで表示された。