https://www.cnblogs.com/mattmonkey/archive/2012/12/20/2825900.html
学习或则测试一些git命令的效果,你可以使用github这种服务商,也可以自己建立服务器仓库。而后者更方便、快捷也更能体会git到底是什么。
建立个人级服务器仓库
mkdir -p ~/git/testgit.git
% cd ~/git/testgit.git
% git init --bare
Reinitialized existing Git repository in /home/matt/git/testgit.git/
% ls
branches/ config description HEAD hooks/ info/ objects/ refs/
通过ls命令可以看出:git init --bare 初始化的目录等同于一个.git目录的内容。
这样就比较好理解git的本质:本地仓库的.git和服务器仓库。它们是一回事情。
连接提交到个人仓库服务器
% mkdir -p ~/tmp/testgit
% cd ~/tmp/testgit
% git init
Initialized empty Git repository in /home/matt/tmp/testgit/.git/
% touch README
% git add .
% git commit -m "initial commit"
[master (root-commit) 02ecfad] initial commit
0 files changed
create mode 100644 README
% git remote add origin localhost:/home/matt/git/testgit.git
% git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 205 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To localhost:/home/matt/git/testgit.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
这几条命令就把一个简单的本地仓库提交到个人的服务器仓库上了。
其中的重点是 git remote add origin localhost:/home/matt/git/testgit.git
这条命令隐含了几个ssh的知识点。熟悉它,可以帮助我们理解通常的git地址
-
- git地址其实就是个ssh地址
-
- ssh省略用户的话会假定是当前用户。
比如这个例子,完整的ssh连接是: matt@localhost:/home/matt/git/testgit.git