在远端创建空仓库
- 建立repo
[git@xt-50 anna]$ git init --bare
初始化空的 Git 版本库于 /mirror/git/anna/
[git@xt-50 anna]$ ls
branches config description HEAD hooks info objects refs
使用命令"git init --bare"(bare汉语意思是:裸,裸的),把该仓库导出为一种裸仓库,之所以叫裸仓库是因为这个仓库只保存git历史提交的版本信息,
而不允许用户在上面进行各种git操作。使用它初始化的版本库(暂且称为bare repository)只会生成一类文件:用于记录版本库历史记录的.git目录下面的
文件;而不会包含实际项目源文件的拷贝;所以该版本库不能称为工作目录(working tree);如果你进入版本目录,就会发现只有.git目录下的文件,而没有其它
文件;就是说,这个版本库里面的文件都是.git目录下面的文件,把原本在.git目录里面的文件放在版本库的根目录下面;
换句话说,不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放
在.git目录下;而使用--bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历
史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面。
使用"git init"初始化的版本库用户也可以在该目录下执行所有git方面的操作。但别的用户在将更新push上来的时候容易出现冲突。
- 添加通知功能
1.编辑config文件: [root@xt-50 xd-anna.git]# cat config
[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = "dev@xxxtech.com"
senderemail = "git@xxxtech.com"
2.编辑descritpion文件,说明你这个repo是干什么的
3.进入hooks目录,创建一个post-receive符号链接
lrwxrwxrwx. 1 git git 50 Dec 21 2015 post-receive -> /usr/share/doc/git-core/contrib/hooks/post-receive
这样每一个对这个repo的改动操作大家都会得到邮件提醒。
在本地添加远端并且推送代码到远端
git clone https://github.com/ceph/ceph.git //克隆源代码
git remote add origin git@192.168.12.50:~/repositories/anna
git push --all //一次性把所有的分支都push上去
Counting objects: 667423, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (131837/131837), done.
Writing objects: 100% (667423/667423), 307.94 MiB | 11.22 MiB/s, done.
Total 667423 (delta 530200), reused 667409 (delta 530194)
To 192.168.12.50:~/repositories/ceph-12.2.11
* [new branch] Summit1.0 -> Summit1.0
* [new branch] master -> master
* [new branch] mh -> mh
网友评论