源码安装git服务 创建远程仓库

首先下载git源码下载地址,在这里我的版本是2.94版本。
安装git服务之前需要安装openssl ,安装过程可以参考openssh服务安装以及curl, 安装过程参考curl的安装
还有expat参考 expat的安装
进入解压目录执行make

root@ubuntu:/home/wl/service/gitSource/git-2.9.4# make
GIT_VERSION = 2.9.4
    * new build flags
    CC credential-store.o
In file included from cache.h:4:0,
                 from credential-store.c:1:
git-compat-util.h:280:25: fatal error: openssl/ssl.h: No such file or directory
 #include <openssl/ssl.h>
                         ^
compilation terminated.
make: *** [credential-store.o] Error 1
root@ubuntu:/home/wl/service/gitSource/git-2.9.4# 

报错了 openssl/ssl.h 头文件找不到 注意:编译的时候会从/usr/include目录中寻找头文件。这里我之前已经安装openssl,但是/usr/include中没有openssl头文件。可以再openssl源码或安装路径中将openssl 中的头文件在/usr/include中建立软连接

root@ubuntu:/home/wl/service/gitSource/git-2.9.4# ln -s /home/wl/service/dependency/openssl/openssl-1.0.2j/include/openssl /usr/include/openssl
root@ubuntu:/home/wl/service/gitSource/git-2.9.4# 

这里用源码中的头文件做软连接
再次执行make

root@ubuntu:/home/wl/service/gitSource/git-2.9.4# make
    CC credential-store.o
    * new link flags
    CC common-main.o
    CC abspath.o
    CC advice.o
    CC alias.o
    CC alloc.o
    CC archive.o
    CC archive-tar.o
    CC archive-zip.o
    CC argv-array.o
    * new prefix flags
    CC attr.o
    CC base85.o
    CC bisect.o
    CC blob.o
    CC branch.o
    CC bulk-checkin.o
    CC bundle.o
    CC cache-tree.o
    CC color.o
    CC column.o
    CC combine-diff.o
    CC commit.o
    CC compat/obstack.o
    CC compat/terminal.o
    CC config.o
    CC connect.o
    CC connected.o
    CC convert.o
    CC copy.o
    CC credential.o
    CC csum-file.o
    CC ctype.o
    CC date.o
    CC decorate.o
    CC diffcore-break.o
    CC diffcore-delta.o
    CC diffcore-order.o
    CC diffcore-pickaxe.o
    CC diffcore-rename.o
    CC diff-delta.o
    CC diff-lib.o
    CC diff-no-index.o
    CC diff.o
    CC dir.o
    CC editor.o
    CC entry.o
    CC environment.o
    CC ewah/bitmap.o
    CC ewah/ewah_bitmap.o
    CC ewah/ewah_io.o
    CC ewah/ewah_rlw.o
    CC exec_cmd.o
    CC fetch-pack.o
    CC fsck.o
    CC gettext.o
    CC gpg-interface.o
    CC graph.o
    CC grep.o
    CC hashmap.o
    GEN common-cmds.h
    CC help.o
    CC hex.o
    CC ident.o
    CC kwset.o
    CC levenshtein.o
    CC line-log.o
    CC line-range.o
    CC list-objects.o
    CC ll-merge.o
    CC lockfile.o
    CC log-tree.o
    CC mailinfo.o
    CC mailmap.o
    CC match-trees.o
    CC merge.o
    CC merge-blobs.o
    CC merge-recursive.o
    CC mergesort.o
    CC name-hash.o
    CC notes.o
    CC notes-cache.o
    CC notes-merge.o
    CC notes-utils.o
    CC object.o
    CC pack-bitmap.o
    CC pack-bitmap-write.o
    CC pack-check.o
    CC pack-objects.o
    CC pack-revindex.o
    CC pack-write.o
    CC pager.o
    CC parse-options.o
    CC parse-options-cb.o
    CC patch-delta.o
    CC patch-ids.o
    CC path.o
    CC pathspec.o
    CC pkt-line.o
    CC preload-index.o
    CC pretty.o
    CC prio-queue.o
    CC progress.o
    CC prompt.o
    CC quote.o
    CC reachable.o
    CC read-cache.o
    CC reflog-walk.o
    CC refs.o
    CC refs/files-backend.o
    CC ref-filter.o
    CC remote.o
    CC replace_object.o
    CC rerere.o
    CC resolve-undo.o
    CC revision.o
    CC run-command.o
    CC send-pack.o
    CC sequencer.o
    CC server-info.o
    CC setup.o
    CC sha1-array.o
    CC sha1-lookup.o
    CC sha1_file.o
    CC sha1_name.o
    CC shallow.o
    CC sideband.o
    CC sigchain.o
    CC split-index.o
    CC strbuf.o
    CC streaming.o
    CC string-list.o
    CC submodule.o
    CC submodule-config.o
    CC symlinks.o
    CC tag.o
    CC tempfile.o
    CC trace.o
    CC trailer.o
    CC transport.o
    CC transport-helper.o
    CC tree-diff.o
    CC tree.o
    CC tree-walk.o
    CC unpack-trees.o
    CC url.o
    CC urlmatch.o
    CC usage.o
    CC userdiff.o
    CC utf8.o
    CC varint.o
    CC version.o
    CC versioncmp.o
    CC walker.o
    CC wildmatch.o
    CC worktree.o
    CC wrapper.o
    CC write_or_die.o
    CC ws.o
    CC wt-status.o
    CC xdiff-interface.o
    CC zlib.o
    CC unix-socket.o
    CC thread-utils.o
    CC compat/strlcpy.o
    AR libgit.a
    CC xdiff/xdiffi.o
    CC xdiff/xprepare.o
    CC xdiff/xutils.o
    CC xdiff/xemit.o
    CC xdiff/xmerge.o
    CC xdiff/xpatience.o
    CC xdiff/xhistogram.o
    AR xdiff/lib.a
    LINK git-credential-store
/usr/bin/ld: cannot find -lcrypto
collect2: error: ld returned 1 exit status
make: *** [git-credential-store] Error 1
root@ubuntu:/home/wl/service/gitSource/git-2.9.4# 

报错了像这种 /usr/bin/ld:cannot find -l*** 一般就是lib***.so库文件找不到 这里lcryto找不到表示libcryto.so找不到

root@ubuntu:/usr/lib# find -name libcrypto.so*  
./vmware-tools/lib64/libcrypto.so.1.0.1
./vmware-tools/lib64/libcrypto.so.1.0.1/libcrypto.so.1.0.1
./vmware-tools/lib32/libcrypto.so.1.0.1
./vmware-tools/lib32/libcrypto.so.1.0.1/libcrypto.so.1.0.1
root@ubntu:/ib# 

建立软连接

root@ubuntu:/usr/lib# ln -s vmware-tools/lib64/libcrypto.so.1.0.1/libcrypto.so.1.0.1 libcrypto.so
root@ubuntu:/usr/lib# ll -l libcrypto.so 
lrwxrwxrwx 1 root root 56 May 21 21:19 libcrypto.so -> vmware-tools/lib64/libcrypto.so.1.0.1/libcrypto.so.1.0.1

 root@ubuntu:/usr/lib# ln -s vmware-tools/lib64/libssl.so.1.0.1/libssl.so.1.0.1 libssl.so
root@ubuntu:/usr/lib# ll -l libssl.so 
lrwxrwxrwx 1 root root 50 May 21 21:38 libssl.so -> vmware-tools/lib64/libssl.so.1.0.1/libssl.so.1.0.1

再次make

root@ubuntu:/home/wl/service/gitSource/git-2.9.4# make
    CC http-push.o
    LINK git-http-push
    CC credential-cache.o
    LINK git-credential-cache
    CC credential-cache--daemon.o
    LINK git-credential-cache--daemon
    CC remote-curl.o
    LINK git-remote-http
    LN/CP git-remote-https
    LN/CP git-remote-ftp
    LN/CP git-remote-ftps
    * new script parameters
    GEN git-bisect
    GEN git-difftool--helper
    GEN git-filter-branch
    GEN git-merge-octopus
    GEN git-merge-one-file
    GEN git-merge-resolve
    GEN git-mergetool
    GEN git-quiltimport
    GEN git-rebase
    GEN git-request-pull
    GEN git-stash
    GEN git-submodule
    GEN git-web--browse
    SUBDIR perl
/usr/bin/perl Makefile.PL PREFIX='/root' INSTALL_BASE='' --localedir='/root/share/locale'
Writing perl.mak for Git
Writing MYMETA.yml and MYMETA.json
    * new perl-specific parameters
    GEN git-add--interactive
    GEN git-difftool
    GEN git-archimport
    GEN git-cvsexportcommit
    GEN git-cvsimport
    GEN git-cvsserver
    GEN git-relink
    GEN git-send-email
    GEN git-svn
    * new Python interpreter location
    GEN git-p4
    GEN git-instaweb
    GEN git-mergetool--lib
    GEN git-parse-remote
    GEN git-rebase--am
    GEN git-rebase--interactive
    GEN git-rebase--merge
    GEN git-sh-setup
    GEN git-sh-i18n
    CC git.o
    CC builtin/add.o
    CC builtin/am.o
    CC builtin/annotate.o
    CC builtin/apply.o
    CC builtin/archive.o
    CC builtin/bisect--helper.o
    CC builtin/blame.o
    CC builtin/branch.o
    CC builtin/bundle.o
    CC builtin/cat-file.o
    CC builtin/check-attr.o
    CC builtin/check-ignore.o
    CC builtin/check-mailmap.o
    CC builtin/check-ref-format.o
    CC builtin/checkout-index.o
    CC builtin/checkout.o
    CC builtin/clean.o
    CC builtin/clone.o
    CC builtin/column.o
    CC builtin/commit-tree.o
    CC builtin/commit.o
    CC builtin/config.o
    CC builtin/count-objects.o
    CC builtin/credential.o
    CC builtin/describe.o
    CC builtin/diff-files.o
    CC builtin/diff-index.o
    CC builtin/diff-tree.o
    CC builtin/diff.o
    CC builtin/fast-export.o
    CC builtin/fetch-pack.o
    CC builtin/fetch.o
    CC builtin/fmt-merge-msg.o
    CC builtin/for-each-ref.o
    CC builtin/fsck.o
    CC builtin/gc.o
    CC builtin/get-tar-commit-id.o
    CC builtin/grep.o
    CC builtin/hash-object.o
    CC builtin/help.o
    CC builtin/index-pack.o
    CC builtin/init-db.o
    CC builtin/interpret-trailers.o
    CC builtin/log.o
    CC builtin/ls-files.o
    CC builtin/ls-remote.o
    CC builtin/ls-tree.o
    CC builtin/mailinfo.o
    CC builtin/mailsplit.o
    CC builtin/merge.o
    CC builtin/merge-base.o
    CC builtin/merge-file.o
    CC builtin/merge-index.o
    CC builtin/merge-ours.o
    CC builtin/merge-recursive.o
    CC builtin/merge-tree.o
    CC builtin/mktag.o
    CC builtin/mktree.o
    CC builtin/mv.o
    CC builtin/name-rev.o
    CC builtin/notes.o
    CC builtin/pack-objects.o
    CC builtin/pack-redundant.o
    CC builtin/pack-refs.o
    CC builtin/patch-id.o
    CC builtin/prune-packed.o
    CC builtin/prune.o
    CC builtin/pull.o
    CC builtin/push.o
    CC builtin/read-tree.o
    CC builtin/receive-pack.o
    CC builtin/reflog.o
    CC builtin/remote.o
    CC builtin/remote-ext.o
    CC builtin/remote-fd.o
    CC builtin/repack.o
    CC builtin/replace.o
    CC builtin/rerere.o
    CC builtin/reset.o
    CC builtin/rev-list.o
    CC builtin/rev-parse.o
    CC builtin/revert.o
    CC builtin/rm.o
    CC builtin/send-pack.o
    CC builtin/shortlog.o
    CC builtin/show-branch.o
    CC builtin/show-ref.o
    CC builtin/stripspace.o
    CC builtin/submodule--helper.o
    CC builtin/symbolic-ref.o
    CC builtin/tag.o
    CC builtin/unpack-file.o
    CC builtin/unpack-objects.o
    CC builtin/update-index.o
    CC builtin/update-ref.o
    CC builtin/update-server-info.o
    CC builtin/upload-archive.o
    CC builtin/var.o
    CC builtin/verify-commit.o
    CC builtin/verify-pack.o
    CC builtin/verify-tag.o
    CC builtin/worktree.o
    CC builtin/write-tree.o
    LINK git
    BUILTIN git-add
    BUILTIN git-am
    BUILTIN git-annotate
    BUILTIN git-apply
    BUILTIN git-archive
    BUILTIN git-bisect--helper
    BUILTIN git-blame
    BUILTIN git-branch
    BUILTIN git-bundle
    BUILTIN git-cat-file
    BUILTIN git-check-attr
    BUILTIN git-check-ignore
    BUILTIN git-check-mailmap
    BUILTIN git-check-ref-format
    BUILTIN git-checkout-index
    BUILTIN git-checkout
    BUILTIN git-clean
    BUILTIN git-clone
    BUILTIN git-column
    BUILTIN git-commit-tree
    BUILTIN git-commit
    BUILTIN git-config
    BUILTIN git-count-objects
    BUILTIN git-credential
    BUILTIN git-describe
    BUILTIN git-diff-files
    BUILTIN git-diff-index
    BUILTIN git-diff-tree
    BUILTIN git-diff
    BUILTIN git-fast-export
    BUILTIN git-fetch-pack
    BUILTIN git-fetch
    BUILTIN git-fmt-merge-msg
    BUILTIN git-for-each-ref
    BUILTIN git-fsck
    BUILTIN git-gc
    BUILTIN git-get-tar-commit-id
    BUILTIN git-grep
    BUILTIN git-hash-object
    BUILTIN git-help
    BUILTIN git-index-pack
    BUILTIN git-init-db
    BUILTIN git-interpret-trailers
    BUILTIN git-log
    BUILTIN git-ls-files
    BUILTIN git-ls-remote
    BUILTIN git-ls-tree
    BUILTIN git-mailinfo
    BUILTIN git-mailsplit
    BUILTIN git-merge
    BUILTIN git-merge-base
    BUILTIN git-merge-file
    BUILTIN git-merge-index
    BUILTIN git-merge-ours
    BUILTIN git-merge-recursive
    BUILTIN git-merge-tree
    BUILTIN git-mktag
    BUILTIN git-mktree
    BUILTIN git-mv
    BUILTIN git-name-rev
    BUILTIN git-notes
    BUILTIN git-pack-objects
    BUILTIN git-pack-redundant
    BUILTIN git-pack-refs
    BUILTIN git-patch-id
    BUILTIN git-prune-packed
    BUILTIN git-prune
    BUILTIN git-pull
    BUILTIN git-push
    BUILTIN git-read-tree
    BUILTIN git-receive-pack
    BUILTIN git-reflog
    BUILTIN git-remote
    BUILTIN git-remote-ext
    BUILTIN git-remote-fd
    BUILTIN git-repack
    BUILTIN git-replace
    BUILTIN git-rerere
    BUILTIN git-reset
    BUILTIN git-rev-list
    BUILTIN git-rev-parse
    BUILTIN git-revert
    BUILTIN git-rm
    BUILTIN git-send-pack
    BUILTIN git-shortlog
    BUILTIN git-show-branch
    BUILTIN git-show-ref
    BUILTIN git-stripspace
    BUILTIN git-submodule--helper
    BUILTIN git-symbolic-ref
    BUILTIN git-tag
    BUILTIN git-unpack-file
    BUILTIN git-unpack-objects
    BUILTIN git-update-index
    BUILTIN git-update-ref
    BUILTIN git-update-server-info
    BUILTIN git-upload-archive
    BUILTIN git-var
    BUILTIN git-verify-commit
    BUILTIN git-verify-pack
    BUILTIN git-verify-tag
    BUILTIN git-worktree
    BUILTIN git-write-tree
    BUILTIN git-cherry
    BUILTIN git-cherry-pick
    BUILTIN git-format-patch
    BUILTIN git-fsck-objects
    BUILTIN git-init
    BUILTIN git-merge-subtree
    BUILTIN git-show
    BUILTIN git-stage
    BUILTIN git-status
    BUILTIN git-whatchanged
    SUBDIR git-gui
GITGUI_VERSION = 0.20.GITGUI
    * new locations or Tcl/Tk interpreter
    GEN git-gui
    INDEX lib/
    MSGFMT    po/bg.msg 547 translated.
    MSGFMT    po/de.msg 520 translated.
    MSGFMT    po/el.msg 381 translated, 4 fuzzy, 6 untranslated.
    MSGFMT    po/fr.msg 520 translated.
    MSGFMT    po/hu.msg 514 translated.
    MSGFMT    po/it.msg 519 translated, 1 untranslated.
    MSGFMT    po/ja.msg 520 translated.
    MSGFMT    po/nb.msg 474 translated, 39 untranslated.
    MSGFMT po/pt_br.msg 520 translated.
    MSGFMT    po/ru.msg 516 translated, 4 untranslated.
    MSGFMT    po/sv.msg 547 translated.
    MSGFMT    po/vi.msg 543 translated.
    MSGFMT po/zh_cn.msg 366 translated, 7 fuzzy, 17 untranslated.
    SUBDIR gitk-git
    * new Tcl/Tk interpreter location
    GEN gitk-wish
Generating catalog po/bg.msg
msgfmt --statistics --tcl po/bg.po -l bg -d po/
311 translated messages.
Generating catalog po/ca.msg
msgfmt --statistics --tcl po/ca.po -l ca -d po/
307 translated messages.
Generating catalog po/de.msg
msgfmt --statistics --tcl po/de.po -l de -d po/
307 translated messages.
Generating catalog po/es.msg
msgfmt --statistics --tcl po/es.po -l es -d po/
184 translated messages, 46 fuzzy translations, 77 untranslated messages.
Generating catalog po/fr.msg
msgfmt --statistics --tcl po/fr.po -l fr -d po/
311 translated messages.
Generating catalog po/hu.msg
msgfmt --statistics --tcl po/hu.po -l hu -d po/
277 translated messages, 18 fuzzy translations, 12 untranslated messages.
Generating catalog po/it.msg
msgfmt --statistics --tcl po/it.po -l it -d po/
274 translated messages, 17 fuzzy translations, 16 untranslated messages.
Generating catalog po/ja.msg
msgfmt --statistics --tcl po/ja.po -l ja -d po/
311 translated messages.
Generating catalog po/pt_br.msg
msgfmt --statistics --tcl po/pt_br.po -l pt_br -d po/
279 translated messages, 16 fuzzy translations, 12 untranslated messages.
Generating catalog po/ru.msg
msgfmt --statistics --tcl po/ru.po -l ru -d po/
307 translated messages.
Generating catalog po/sv.msg
msgfmt --statistics --tcl po/sv.po -l sv -d po/
311 translated messages.
Generating catalog po/vi.msg
msgfmt --statistics --tcl po/vi.po -l vi -d po/
307 translated messages.
    SUBDIR perl
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Utils.pm >blib/lib/Git/SVN/Utils.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN.pm >blib/lib/Git/SVN.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/I18N.pm >blib/lib/Git/I18N.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Fetcher.pm >blib/lib/Git/SVN/Fetcher.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Editor.pm >blib/lib/Git/SVN/Editor.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/GlobSpec.pm >blib/lib/Git/SVN/GlobSpec.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Migration.pm >blib/lib/Git/SVN/Migration.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/IndexInfo.pm >blib/lib/Git/IndexInfo.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Prompt.pm >blib/lib/Git/SVN/Prompt.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Ra.pm >blib/lib/Git/SVN/Ra.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git.pm >blib/lib/Git.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <private-Error.pm >blib/lib/Error.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Log.pm >blib/lib/Git/SVN/Log.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Memoize/YAML.pm >blib/lib/Git/SVN/Memoize/YAML.pm
Manifying blib/man3/Git::SVN::Fetcher.3pm
Manifying blib/man3/Git::SVN::Editor.3pm
Manifying blib/man3/Git::I18N.3pm
Manifying blib/man3/Git.3pm
Manifying blib/man3/private-Error.3pm
Manifying blib/man3/Git::SVN::Prompt.3pm
Manifying blib/man3/Git::SVN::Utils.3pm
Manifying blib/man3/Git::SVN::Memoize::YAML.3pm
Manifying blib/man3/Git::SVN::Ra.3pm
    SUBDIR templates
    MSGFMT po/build/locale/bg/LC_MESSAGES/git.mo
2597 translated messages.
    MSGFMT po/build/locale/ca/LC_MESSAGES/git.mo
2530 translated messages.
    MSGFMT po/build/locale/de/LC_MESSAGES/git.mo
2597 translated messages.
    MSGFMT po/build/locale/fr/LC_MESSAGES/git.mo
2597 translated messages.
    MSGFMT po/build/locale/is/LC_MESSAGES/git.mo
14 translated messages.
    MSGFMT po/build/locale/it/LC_MESSAGES/git.mo
716 translated messages, 350 untranslated messages.
    MSGFMT po/build/locale/ko/LC_MESSAGES/git.mo
2597 translated messages.
    MSGFMT po/build/locale/pt_PT/LC_MESSAGES/git.mo
2592 translated messages, 3 fuzzy translations, 2 untranslated messages.
    MSGFMT po/build/locale/ru/LC_MESSAGES/git.mo
2597 translated messages.
    MSGFMT po/build/locale/sv/LC_MESSAGES/git.mo
2597 translated messages.
    MSGFMT po/build/locale/vi/LC_MESSAGES/git.mo
2597 translated messages.
    MSGFMT po/build/locale/zh_CN/LC_MESSAGES/git.mo
2597 translated messages.
    CC t/helper/test-chmtime.o
    LINK t/helper/test-chmtime
    CC t/helper/test-ctype.o
    LINK t/helper/test-ctype
    CC t/helper/test-config.o
    LINK t/helper/test-config
    CC t/helper/test-date.o
    LINK t/helper/test-date
    CC t/helper/test-delta.o
    LINK t/helper/test-delta
    CC t/helper/test-dump-cache-tree.o
    LINK t/helper/test-dump-cache-tree
    CC t/helper/test-dump-split-index.o
    LINK t/helper/test-dump-split-index
    CC t/helper/test-dump-untracked-cache.o
    LINK t/helper/test-dump-untracked-cache
    CC t/helper/test-fake-ssh.o
    LINK t/helper/test-fake-ssh
    CC t/helper/test-genrandom.o
    LINK t/helper/test-genrandom
    CC t/helper/test-hashmap.o
    LINK t/helper/test-hashmap
    CC t/helper/test-index-version.o
    LINK t/helper/test-index-version
    CC t/helper/test-line-buffer.o
    LINK t/helper/test-line-buffer
    CC t/helper/test-match-trees.o
    LINK t/helper/test-match-trees
    CC t/helper/test-mergesort.o
    LINK t/helper/test-mergesort
    CC t/helper/test-mktemp.o
    LINK t/helper/test-mktemp
    CC t/helper/test-parse-options.o
    LINK t/helper/test-parse-options
    CC t/helper/test-path-utils.o
    LINK t/helper/test-path-utils
    CC t/helper/test-prio-queue.o
    LINK t/helper/test-prio-queue
    CC t/helper/test-read-cache.o
    LINK t/helper/test-read-cache
    CC t/helper/test-regex.o
    LINK t/helper/test-regex
    CC t/helper/test-revision-walking.o
    LINK t/helper/test-revision-walking
    CC t/helper/test-run-command.o
    LINK t/helper/test-run-command
    CC t/helper/test-scrap-cache-tree.o
    LINK t/helper/test-scrap-cache-tree
    CC t/helper/test-sha1.o
    LINK t/helper/test-sha1
    CC t/helper/test-sha1-array.o
    LINK t/helper/test-sha1-array
    CC t/helper/test-sigchain.o
    LINK t/helper/test-sigchain
    CC t/helper/test-string-list.o
    LINK t/helper/test-string-list
    CC t/helper/test-submodule-config.o
    LINK t/helper/test-submodule-config
    CC t/helper/test-subprocess.o
    LINK t/helper/test-subprocess
    CC t/helper/test-svn-fe.o
    LINK t/helper/test-svn-fe
    CC t/helper/test-urlmatch-normalization.o
    LINK t/helper/test-urlmatch-normalization
    CC t/helper/test-wildmatch.o
    LINK t/helper/test-wildmatch
    GEN bin-wrappers/git
    GEN bin-wrappers/git-upload-pack
    GEN bin-wrappers/git-receive-pack
    GEN bin-wrappers/git-upload-archive
    GEN bin-wrappers/git-shell
    GEN bin-wrappers/git-cvsserver
    GEN bin-wrappers/test-chmtime
    GEN bin-wrappers/test-ctype
    GEN bin-wrappers/test-config
    GEN bin-wrappers/test-date
    GEN bin-wrappers/test-delta
    GEN bin-wrappers/test-dump-cache-tree
    GEN bin-wrappers/test-dump-split-index
    GEN bin-wrappers/test-dump-untracked-cache
    GEN bin-wrappers/test-fake-ssh
    GEN bin-wrappers/test-genrandom
    GEN bin-wrappers/test-hashmap
    GEN bin-wrappers/test-index-version
    GEN bin-wrappers/test-line-buffer
    GEN bin-wrappers/test-match-trees
    GEN bin-wrappers/test-mergesort
    GEN bin-wrappers/test-mktemp
    GEN bin-wrappers/test-parse-options
    GEN bin-wrappers/test-path-utils
    GEN bin-wrappers/test-prio-queue
    GEN bin-wrappers/test-read-cache
    GEN bin-wrappers/test-regex
    GEN bin-wrappers/test-revision-walking
    GEN bin-wrappers/test-run-command
    GEN bin-wrappers/test-scrap-cache-tree
    GEN bin-wrappers/test-sha1
    GEN bin-wrappers/test-sha1-array
    GEN bin-wrappers/test-sigchain
    GEN bin-wrappers/test-string-list
    GEN bin-wrappers/test-submodule-config
    GEN bin-wrappers/test-subprocess
    GEN bin-wrappers/test-svn-fe
    GEN bin-wrappers/test-urlmatch-normalization
    GEN bin-wrappers/test-wildmatch
    GEN git-remote-testgit
root@ubuntu:/home/wl/service/gitSource/git-2.9.4# 

make install

root@ubuntu:/home/wl/service/gitSource/git-2.9.4# make install
    SUBDIR perl
/usr/bin/perl Makefile.PL PREFIX='/root' INSTALL_BASE='' --localedir='/root/share/locale'
Writing perl.mak for Git
Writing MYMETA.yml and MYMETA.json
    GEN git-add--interactive
    GEN git-difftool
    GEN git-archimport
    GEN git-cvsexportcommit
    GEN git-cvsimport
    GEN git-cvsserver
    GEN git-relink
    GEN git-send-email
    GEN git-svn
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR perl
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Fetcher.pm >blib/lib/Git/SVN/Fetcher.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git.pm >blib/lib/Git.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Ra.pm >blib/lib/Git/SVN/Ra.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Migration.pm >blib/lib/Git/SVN/Migration.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <private-Error.pm >blib/lib/Error.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/GlobSpec.pm >blib/lib/Git/SVN/GlobSpec.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/IndexInfo.pm >blib/lib/Git/IndexInfo.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Memoize/YAML.pm >blib/lib/Git/SVN/Memoize/YAML.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Utils.pm >blib/lib/Git/SVN/Utils.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/I18N.pm >blib/lib/Git/I18N.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN.pm >blib/lib/Git/SVN.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Prompt.pm >blib/lib/Git/SVN/Prompt.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Log.pm >blib/lib/Git/SVN/Log.pm
/usr/bin/perl -pe "s<\Q++LOCALEDIR++\E></root/share/locale>" <Git/SVN/Editor.pm >blib/lib/Git/SVN/Editor.pm
    SUBDIR templates
install -d -m 755 '/root/bin'
install -d -m 755 '/root/libexec/git-core'
install   git-credential-store git-daemon git-fast-import git-http-backend git-imap-send git-sh-i18n--envsubst git-shell git-show-index git-upload-pack git-remote-testsvn git-http-fetch git-http-push git-credential-cache git-credential-cache--daemon git-remote-http git-remote-https git-remote-ftp git-remote-ftps git-bisect git-difftool--helper git-filter-branch git-merge-octopus git-merge-one-file git-merge-resolve git-mergetool git-quiltimport git-rebase git-request-pull git-stash git-submodule git-web--browse git-add--interactive git-difftool git-archimport git-cvsexportcommit git-cvsimport git-cvsserver git-relink git-send-email git-svn git-p4 git-instaweb '/root/libexec/git-core'
install -m 644  git-mergetool--lib git-parse-remote git-rebase--am git-rebase--interactive git-rebase--merge git-sh-setup git-sh-i18n '/root/libexec/git-core'
install git git-upload-pack git-receive-pack git-upload-archive git-shell git-cvsserver '/root/bin'
make -C templates DESTDIR='' install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/templates'
install -d -m 755 '/root/share/git-core/templates'
(cd blt && tar cf - .) | \
        (cd '/root/share/git-core/templates' && umask 022 && tar xof -)
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/templates'
install -d -m 755 '/root/libexec/git-core/mergetools'
install -m 644 mergetools/* '/root/libexec/git-core/mergetools'
install -d -m 755 '/root/share/locale'
(cd po/build/locale && tar cf - .) | \
        (cd '/root/share/locale' && umask 022 && tar xof -)
make -C perl prefix='/root' DESTDIR='' install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/perl'
make[2]: Entering directory `/home/wl/service/gitSource/git-2.9.4/perl'
Installing /root/share/perl/5.18.2/Git.pm
Installing /root/share/perl/5.18.2/Error.pm
Installing /root/share/perl/5.18.2/Git/IndexInfo.pm
Installing /root/share/perl/5.18.2/Git/SVN.pm
Installing /root/share/perl/5.18.2/Git/I18N.pm
Installing /root/share/perl/5.18.2/Git/SVN/Fetcher.pm
Installing /root/share/perl/5.18.2/Git/SVN/Utils.pm
Installing /root/share/perl/5.18.2/Git/SVN/Log.pm
Installing /root/share/perl/5.18.2/Git/SVN/GlobSpec.pm
Installing /root/share/perl/5.18.2/Git/SVN/Prompt.pm
Installing /root/share/perl/5.18.2/Git/SVN/Ra.pm
Installing /root/share/perl/5.18.2/Git/SVN/Migration.pm
Installing /root/share/perl/5.18.2/Git/SVN/Editor.pm
Installing /root/share/perl/5.18.2/Git/SVN/Memoize/YAML.pm
Installing /root/share/man/man3/Git::SVN::Ra.3pm
Installing /root/share/man/man3/Git::SVN::Prompt.3pm
Installing /root/share/man/man3/Git::SVN::Editor.3pm
Installing /root/share/man/man3/Git::I18N.3pm
Installing /root/share/man/man3/Git::SVN::Fetcher.3pm
Installing /root/share/man/man3/Git::SVN::Utils.3pm
Installing /root/share/man/man3/private-Error.3pm
Installing /root/share/man/man3/Git.3pm
Installing /root/share/man/man3/Git::SVN::Memoize::YAML.3pm
Appending installation info to /root/lib/perl/5.18.2/perllocal.pod
make[2]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/perl'
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/perl'
make -C gitweb install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/gitweb'
make[2]: Entering directory `/home/wl/service/gitSource/git-2.9.4'
make[2]: `GIT-VERSION-FILE' is up to date.
make[2]: Leaving directory `/home/wl/service/gitSource/git-2.9.4'
    GEN gitweb.cgi
    GEN static/gitweb.js
install -d -m 755 '/root/share/gitweb'
install -m 755 gitweb.cgi '/root/share/gitweb'
install -d -m 755 '/root/share/gitweb/static'
install -m 644 static/gitweb.js static/gitweb.css static/git-logo.png static/git-favicon.png '/root/share/gitweb/static'
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/gitweb'
make -C gitk-git install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/gitk-git'
install -m 755 gitk-wish '/root/bin'/gitk
install -d -m 755 '/root/share/gitk/lib/msgs'
install -m 644 po/bg.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/ca.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/de.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/es.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/fr.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/hu.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/it.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/ja.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/pt_br.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/ru.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/sv.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/vi.msg '/root/share/gitk/lib/msgs' && true
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/gitk-git'
make -C git-gui gitexecdir='/root/libexec/git-core' install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/git-gui'
  DEST /root/libexec/git-core
    INSTALL 755 git-gui
    INSTALL 755 git-gui--askpass
    LINK        git-citool -> git-gui
  DEST /root/share/git-gui/lib
    INSTALL 644 tclIndex
    INSTALL 644 about.tcl
    INSTALL 644 blame.tcl
    INSTALL 644 branch_checkout.tcl
    INSTALL 644 branch_create.tcl
    INSTALL 644 branch_delete.tcl
    INSTALL 644 branch_rename.tcl
    INSTALL 644 branch.tcl
    INSTALL 644 browser.tcl
    INSTALL 644 checkout_op.tcl
    INSTALL 644 choose_font.tcl
    INSTALL 644 choose_repository.tcl
    INSTALL 644 choose_rev.tcl
    INSTALL 644 class.tcl
    INSTALL 644 commit.tcl
    INSTALL 644 console.tcl
    INSTALL 644 database.tcl
    INSTALL 644 date.tcl
    INSTALL 644 diff.tcl
    INSTALL 644 encoding.tcl
    INSTALL 644 error.tcl
    INSTALL 644 index.tcl
    INSTALL 644 line.tcl
    INSTALL 644 logo.tcl
    INSTALL 644 merge.tcl
    INSTALL 644 mergetool.tcl
    INSTALL 644 option.tcl
    INSTALL 644 remote_add.tcl
    INSTALL 644 remote_branch_delete.tcl
    INSTALL 644 remote.tcl
    INSTALL 644 search.tcl
    INSTALL 644 shortcut.tcl
    INSTALL 644 spellcheck.tcl
    INSTALL 644 sshkey.tcl
    INSTALL 644 status_bar.tcl
    INSTALL 644 themed.tcl
    INSTALL 644 tools_dlg.tcl
    INSTALL 644 tools.tcl
    INSTALL 644 transport.tcl
    INSTALL 644 win32.tcl
    INSTALL 644 git-gui.ico
    INSTALL 644 win32_shortcut.js
  DEST /root/share/git-gui/lib/msgs
    INSTALL 644 bg.msg
    INSTALL 644 de.msg
    INSTALL 644 el.msg
    INSTALL 644 fr.msg
    INSTALL 644 hu.msg
    INSTALL 644 it.msg
    INSTALL 644 ja.msg
    INSTALL 644 nb.msg
    INSTALL 644 pt_br.msg
    INSTALL 644 ru.msg
    INSTALL 644 sv.msg
    INSTALL 644 vi.msg
    INSTALL 644 zh_cn.msg
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/git-gui'
bindir=$(cd '/root/bin' && pwd) && \
        execdir=$(cd '/root/libexec/git-core' && pwd) && \
        { test "$bindir/" = "$execdir/" || \
          for p in git git-shell git-upload-pack git-cvsserver; do \
                rm -f "$execdir/$p" && \
                test -z "" && \
                ln "$bindir/$p" "$execdir/$p" 2>/dev/null || \
                cp "$bindir/$p" "$execdir/$p" || exit; \
          done; \
        } && \
        for p in git-receive-pack git-upload-archive; do \
                rm -f "$bindir/$p" && \
                test -z "" && \
                ln "$bindir/git" "$bindir/$p" 2>/dev/null || \
                ln -s "git" "$bindir/$p" 2>/dev/null || \
                cp "$bindir/git" "$bindir/$p" || exit; \
        done && \
        for p in  git-add git-am git-annotate git-apply git-archive 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-index git-checkout git-clean git-clone git-column git-commit-tree git-commit git-config git-count-objects git-credential git-describe git-diff-files git-diff-index git-diff-tree git-diff git-fast-export git-fetch-pack git-fetch git-fmt-merge-msg git-for-each-ref git-fsck git-gc git-get-tar-commit-id git-grep git-hash-object git-help git-index-pack git-init-db git-interpret-trailers 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-ours git-merge-recursive git-merge-tree git-mktag git-mktree git-mv git-name-rev git-notes git-pack-objects git-pack-redundant git-pack-refs git-patch-id git-prune-packed git-prune git-pull git-push git-read-tree git-receive-pack git-reflog git-remote git-remote-ext git-remote-fd git-repack git-replace git-rerere git-reset git-rev-list git-rev-parse git-revert git-rm git-send-pack git-shortlog git-show-branch git-show-ref git-stripspace git-submodule--helper 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-var git-verify-commit git-verify-pack git-verify-tag git-worktree git-write-tree git-cherry git-cherry-pick git-format-patch git-fsck-objects git-init git-merge-subtree git-show git-stage git-status git-whatchanged; do \
                rm -f "$execdir/$p" && \
                test -z "" && \
                ln "$execdir/git" "$execdir/$p" 2>/dev/null || \
                ln -s "git" "$execdir/$p" 2>/dev/null || \
                cp "$execdir/git" "$execdir/$p" || exit; \
        done && \
        remote_curl_aliases="git-remote-https git-remote-ftp git-remote-ftps" && \
        for p in $remote_curl_aliases; do \
                rm -f "$execdir/$p" && \
                test -z "" && \
                ln "$execdir/git-remote-http" "$execdir/$p" 2>/dev/null || \
                ln -s "git-remote-http" "$execdir/$p" 2>/dev/null || \
                cp "$execdir/git-remote-http" "$execdir/$p" || exit; \
        done && \
        ./check_bindir "z$bindir" "z$execdir" "$bindir/git-add"
root@ubuntu:/home/wl/service/gitSource/git-2.9.4# clear

root@ubuntu:/home/wl/service/gitSource/git-2.9.4# make install
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR perl
    SUBDIR templates
install -d -m 755 '/root/bin'
install -d -m 755 '/root/libexec/git-core'
install   git-credential-store git-daemon git-fast-import git-http-backend git-imap-send git-sh-i18n--envsubst git-shell git-show-index git-upload-pack git-remote-testsvn git-http-fetch git-http-push git-credential-cache git-credential-cache--daemon git-remote-http git-remote-https git-remote-ftp git-remote-ftps git-bisect git-difftool--helper git-filter-branch git-merge-octopus git-merge-one-file git-merge-resolve git-mergetool git-quiltimport git-rebase git-request-pull git-stash git-submodule git-web--browse git-add--interactive git-difftool git-archimport git-cvsexportcommit git-cvsimport git-cvsserver git-relink git-send-email git-svn git-p4 git-instaweb '/root/libexec/git-core'
install -m 644  git-mergetool--lib git-parse-remote git-rebase--am git-rebase--interactive git-rebase--merge git-sh-setup git-sh-i18n '/root/libexec/git-core'
install git git-upload-pack git-receive-pack git-upload-archive git-shell git-cvsserver '/root/bin'
make -C templates DESTDIR='' install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/templates'
install -d -m 755 '/root/share/git-core/templates'
(cd blt && tar cf - .) | \
        (cd '/root/share/git-core/templates' && umask 022 && tar xof -)
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/templates'
install -d -m 755 '/root/libexec/git-core/mergetools'
install -m 644 mergetools/* '/root/libexec/git-core/mergetools'
install -d -m 755 '/root/share/locale'
(cd po/build/locale && tar cf - .) | \
        (cd '/root/share/locale' && umask 022 && tar xof -)
make -C perl prefix='/root' DESTDIR='' install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/perl'
make[2]: Entering directory `/home/wl/service/gitSource/git-2.9.4/perl'
Appending installation info to /root/lib/perl/5.18.2/perllocal.pod
make[2]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/perl'
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/perl'
make -C gitweb install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/gitweb'
make[2]: Entering directory `/home/wl/service/gitSource/git-2.9.4'
make[2]: `GIT-VERSION-FILE' is up to date.
make[2]: Leaving directory `/home/wl/service/gitSource/git-2.9.4'
install -d -m 755 '/root/share/gitweb'
install -m 755 gitweb.cgi '/root/share/gitweb'
install -d -m 755 '/root/share/gitweb/static'
install -m 644 static/gitweb.js static/gitweb.css static/git-logo.png static/git-favicon.png '/root/share/gitweb/static'
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/gitweb'
make -C gitk-git install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/gitk-git'
install -m 755 gitk-wish '/root/bin'/gitk
install -d -m 755 '/root/share/gitk/lib/msgs'
install -m 644 po/bg.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/ca.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/de.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/es.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/fr.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/hu.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/it.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/ja.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/pt_br.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/ru.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/sv.msg '/root/share/gitk/lib/msgs' &&  install -m 644 po/vi.msg '/root/share/gitk/lib/msgs' && true
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/gitk-git'
make -C git-gui gitexecdir='/root/libexec/git-core' install
make[1]: Entering directory `/home/wl/service/gitSource/git-2.9.4/git-gui'
  DEST /root/libexec/git-core
    INSTALL 755 git-gui
    INSTALL 755 git-gui--askpass
    LINK        git-citool -> git-gui
  DEST /root/share/git-gui/lib
    INSTALL 644 tclIndex
    INSTALL 644 about.tcl
    INSTALL 644 blame.tcl
    INSTALL 644 branch_checkout.tcl
    INSTALL 644 branch_create.tcl
    INSTALL 644 branch_delete.tcl
    INSTALL 644 branch_rename.tcl
    INSTALL 644 branch.tcl
    INSTALL 644 browser.tcl
    INSTALL 644 checkout_op.tcl
    INSTALL 644 choose_font.tcl
    INSTALL 644 choose_repository.tcl
    INSTALL 644 choose_rev.tcl
    INSTALL 644 class.tcl
    INSTALL 644 commit.tcl
    INSTALL 644 console.tcl
    INSTALL 644 database.tcl
    INSTALL 644 date.tcl
    INSTALL 644 diff.tcl
    INSTALL 644 encoding.tcl
    INSTALL 644 error.tcl
    INSTALL 644 index.tcl
    INSTALL 644 line.tcl
    INSTALL 644 logo.tcl
    INSTALL 644 merge.tcl
    INSTALL 644 mergetool.tcl
    INSTALL 644 option.tcl
    INSTALL 644 remote_add.tcl
    INSTALL 644 remote_branch_delete.tcl
    INSTALL 644 remote.tcl
    INSTALL 644 search.tcl
    INSTALL 644 shortcut.tcl
    INSTALL 644 spellcheck.tcl
    INSTALL 644 sshkey.tcl
    INSTALL 644 status_bar.tcl
    INSTALL 644 themed.tcl
    INSTALL 644 tools_dlg.tcl
    INSTALL 644 tools.tcl
    INSTALL 644 transport.tcl
    INSTALL 644 win32.tcl
    INSTALL 644 git-gui.ico
    INSTALL 644 win32_shortcut.js
  DEST /root/share/git-gui/lib/msgs
    INSTALL 644 bg.msg
    INSTALL 644 de.msg
    INSTALL 644 el.msg
    INSTALL 644 fr.msg
    INSTALL 644 hu.msg
    INSTALL 644 it.msg
    INSTALL 644 ja.msg
    INSTALL 644 nb.msg
    INSTALL 644 pt_br.msg
    INSTALL 644 ru.msg
    INSTALL 644 sv.msg
    INSTALL 644 vi.msg
    INSTALL 644 zh_cn.msg
make[1]: Leaving directory `/home/wl/service/gitSource/git-2.9.4/git-gui'
bindir=$(cd '/root/bin' && pwd) && \
        execdir=$(cd '/root/libexec/git-core' && pwd) && \
        { test "$bindir/" = "$execdir/" || \
          for p in git git-shell git-upload-pack git-cvsserver; do \
                rm -f "$execdir/$p" && \
                test -z "" && \
                ln "$bindir/$p" "$execdir/$p" 2>/dev/null || \
                cp "$bindir/$p" "$execdir/$p" || exit; \
          done; \
        } && \
        for p in git-receive-pack git-upload-archive; do \
                rm -f "$bindir/$p" && \
                test -z "" && \
                ln "$bindir/git" "$bindir/$p" 2>/dev/null || \
                ln -s "git" "$bindir/$p" 2>/dev/null || \
                cp "$bindir/git" "$bindir/$p" || exit; \
        done && \
        for p in  git-add git-am git-annotate git-apply git-archive 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-index git-checkout git-clean git-clone git-column git-commit-tree git-commit git-config git-count-objects git-credential git-describe git-diff-files git-diff-index git-diff-tree git-diff git-fast-export git-fetch-pack git-fetch git-fmt-merge-msg git-for-each-ref git-fsck git-gc git-get-tar-commit-id git-grep git-hash-object git-help git-index-pack git-init-db git-interpret-trailers 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-ours git-merge-recursive git-merge-tree git-mktag git-mktree git-mv git-name-rev git-notes git-pack-objects git-pack-redundant git-pack-refs git-patch-id git-prune-packed git-prune git-pull git-push git-read-tree git-receive-pack git-reflog git-remote git-remote-ext git-remote-fd git-repack git-replace git-rerere git-reset git-rev-list git-rev-parse git-revert git-rm git-send-pack git-shortlog git-show-branch git-show-ref git-stripspace git-submodule--helper 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-var git-verify-commit git-verify-pack git-verify-tag git-worktree git-write-tree git-cherry git-cherry-pick git-format-patch git-fsck-objects git-init git-merge-subtree git-show git-stage git-status git-whatchanged; do \
                rm -f "$execdir/$p" && \
                test -z "" && \
                ln "$execdir/git" "$execdir/$p" 2>/dev/null || \
                ln -s "git" "$execdir/$p" 2>/dev/null || \
                cp "$execdir/git" "$execdir/$p" || exit; \
        done && \
        remote_curl_aliases="git-remote-https git-remote-ftp git-remote-ftps" && \
        for p in $remote_curl_aliases; do \
                rm -f "$execdir/$p" && \
                test -z "" && \
                ln "$execdir/git-remote-http" "$execdir/$p" 2>/dev/null || \
                ln -s "git-remote-http" "$execdir/$p" 2>/dev/null || \
                cp "$execdir/git-remote-http" "$execdir/$p" || exit; \
        done && \
        ./check_bindir "z$bindir" "z$execdir" "$bindir/git-add"
root@ubuntu:/home/wl/service/gitS

git被安装在了/root/bin下
查看git版本

root@ubuntu:~/bin# ls
git  git-cvsserver  gitk  git-receive-pack  git-shell  git-upload-archive  git-upload-pack
root@ubuntu:~/bin# ./git --help
usage: git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

These are common Git commands used in various situations:

start a working area (see also: git help tutorial)
   clone      Clone a repository into a new directory
   init       Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)
   add        Add file contents to the index
   mv         Move or rename a file, a directory, or a symlink
   reset      Reset current HEAD to the specified state
   rm         Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)
   bisect     Use binary search to find the commit that introduced a bug
   grep       Print lines matching a pattern
   log        Show commit logs
   show       Show various types of objects
   status     Show the working tree status

grow, mark and tweak your common history
   branch     List, create, or delete branches
   checkout   Switch branches or restore working tree files
   commit     Record changes to the repository
   diff       Show changes between commits, commit and working tree, etc
   merge      Join two or more development histories together
   rebase     Reapply commits on top of another base tip
   tag        Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)
   fetch      Download objects and refs from another repository
   pull       Fetch from and integrate with another repository or a local branch
   push       Update remote refs along with associated objects

'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
root@ubuntu:~/bin# ./git --version
git version 2.9.4
root@ubuntu:~/bin# 

将bin目录放在环境变量中

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "$PS1" ]; then
  if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi
JAVA_HOME=/usr/jdk1.8
CLASSPATH=.:$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
GIT_HOME=/root/bin/
PATH=$PATH:$GIT_HOME
export PATH JAVA_HOME CLASSPATH GIT_HOME

CC=gcc
export CC 
~                                                                                                                                                            
~                                                                                                                                                            
"/etc/profile" 39L, 843C    

source /etc/profile
再次执行 git –verion

root@ubuntu:~# git --version
git version 2.9.4
root@ubuntu:~# 

在服务器上新建一个空的git仓库 然后在本地克隆下来提交文件。关于这一部分可以参考服务器上的git
首先 新增一个git用户 并设置密码

root@ubuntu:/home/wl# useradd git
useradd: user 'git' already exists
root@ubuntu:/home/wl# passwd git
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

切换到git用户

root@ubuntu:/home/wl# su git
git@ubuntu:/home/wl$

进入/home/git

git@ubuntu:/home/wl$ cd /home/git

新建.ssh目录

git@ubuntu:~$ mkdir .ssh

进入 .ssh目录 查看是否存在 id_rsa 和 id_rsa.pub,如果不存在则使用 ssh-keygen 生成ssh-keygen生成密钥参考

新建authorized_keys文件 将 id_rsa.pub中的内容拷贝到该文件中

git@ubuntu:~/.ssh$ cat id_rsa.pub >> authorized_keys

在git目录下新建repo目录 进入repo目录 新建blog.git目录作为空的git仓库。注意要确保repo目录的所属者为git用户并具有读写权限如果不是请使用下面的命令设置

chown -R git:git repo
chmod 777 repo

进入blog.git目录
执行

git init --bare

现在我们创建了一个空的git仓库。然后在windows上将该空的仓库拷贝下来
由于我这里blog.git不时空的仓库 所以创建一个blog1.git代替

git@ubuntu:~/repo$ mkdir blog1.git
git@ubuntu:~/repo$  cd blog1.git/
git@ubuntu:~/repo/blog1.git$ git init --bare
Initialized empty Git repository in /home/git/repo/blog1.git/
git@ubuntu:~/repo/blog1.git

选择一个文件夹 打开windows git bash窗口

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1
$ git clone git@192.168.46.128:/home/git/repo/blog1.git
Cloning into 'blog1'...
git@192.168.46.128's password:
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1

一个空的git仓库就从服务器上拷贝下来了,现在开始新建一个文件 使用git提交到远程仓库
新建一个文件

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1
$ cd blog1/

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1/blog1 (master)
$ touch README.txt

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1/blog1 (master)
$ ls
README.txt

执行commit

$ git commit -am "提交第一个文件"
On branch master

Initial commit

Untracked files:
        README.txt

nothing added to commit but untracked files present

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1/blog1 (master)

报错了 该文件没有被跟踪 解决办法 执行 git add

$ git add README.txt

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1/blog1 (master)
$ git commit -am "提交第一个文件"
[master (root-commit) 2f484c8] 提交第一个文件
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.txt

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1/blog1 (master)

执行push

$ git push
warning: push.default is unset; its implicit value has changed in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the traditional behavior, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.

Since Git 2.0, Git defaults to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

git@192.168.46.128's password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 233 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@192.168.46.128:/home/git/repo/blog1.git
 * [new branch]      master -> master

wl@DESKTOP-DVLAUSM MINGW64 /f/blog1/blog1 (master)
$

下面使用工具 sourcetree 将仓库拉取下来

打开sourcetree点击 工具 选择 选项
这里写图片描述
SSH 客户端选择 PUTTY

点击 克隆/新建
这里写图片描述
填写源路径 目标路径 点击克隆 输入服务器 git 密码 完工

以后就可以使用sourcetree 进行commit push merger等操作了

猜你喜欢

转载自blog.csdn.net/name_is_wl/article/details/72615442