Ubuntu 14.04搭建简单git服务器

时间:2022-05-04 10:17:38
/******************************************************************************
* Ubuntu 14.04搭建简单git服务器
* 说明:
* 由于最近需要搭建一下git服务器,记录一下一些疑虑和遇到的一些问题。
*
* 2016-6-7 深圳 南山平山村 曾剑锋
*****************************************************************************/ 一、参考文档:
. 搭建Git服务器
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
. Git问题集锦
http://www.cnblogs.com/gsblog/p/3699209.html
. ssh: connect to host localhost port : Connection refused
http://blog.csdn.net/zlm_250/article/details/7979221
. Chapter Git on the Server
https://git-scm.com/book/en/v1/Git-on-the-Server 二、以下是等效推送,其他类似:
. 第一次推送:
git push git@192.168.1.9:/home/git/repos/sample.git master
git push git@192.168.1.9:repos/sample.git master
. 后续推送:
git push git@192.168.1.9:/home/git/repos/sample.git
git push git@192.168.1.9:repos/sample.git 三、为什么在仓库里看不到源代码:
A remote repository is generally a bare repository — a Git repository that has no working directory. Because the repository is only used as a collaboration point, there is no reason to have a snapshot checked out on disk; it’s just the Git data. In the simplest terms, a bare repository is the contents of your project’s .git directory and nothing else.
一个远程仓库一般是一个纯仓库,一个git仓库没有工作目录。由于仓库仅仅用于收集节点,所以没有必要保留快照,所以仓库只保留git数据。因此,一个纯仓库只包含项目下的.git目录。 四、出现的问题:
git@zengjf:~/testforrepos/sample$ git push git@192.168.1.9:/home/git/repos/sample.git
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, 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. In Git 2.0, Git will default 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.. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git) No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git@192.168.1.9:/home/git/repos/sample.git'
git@zengjf:~/testforrepos/sample$ git push git@192.168.1.9:/home/git/repos/sample.git master
Counting objects: , done.
Writing objects: % (/), bytes | bytes/s, done.
Total (delta ), reused (delta )
To git@192.168.1.9:/home/git/repos/sample.git
* [new branch] master -> master