概念:仓储的分类:git 仓储有bare 与 non-bare的区别
简单来说:
bare没有工作目录,non-bare有工作目录,具体的区别
- 如何将一个normal的仓储(也就是一个non-bare的仓储)转变成一个bare的仓储:
cd repo
mv .git ../repo.git # renaming just for clarity
cd ..
rm -fr repo
cd repo.git
git config --bool core.bare true
- 如何克隆本地的仓储
git clone -l <path_to_bare_repo> <new_normal_repo>
- 如何查看当前HEAD所指的commit的具体修改内容
git show HEAD
在服务端创建一个git仓储,然后客户端可以用git clone的方式下载代码了
步骤如下:
1.登陆服务端系统(ssh或者vnc)
2.选择一个或者创建一个文件夹用于放置代码
mkdir testgit --bare
3.进入testgit文件夹,用命令git init 初始化一个空的仓储,然后添加需要的文件,最后用git add 以及git commit 提交文件。
git add .
git commit
git commit -m "init a repository "
4.在另外一台服务器,就可以用git clone的方法进行代码下载了。
git clone ssh://[用户名]@[服务端ip]全路径/testgit
update:
在push的过程中可能会有各种各样的问题:
常见问题:
1.
remote: error: cannot lock ref 'refs/heads/master': Unable to create '/home/harry/xx/testgit.git/refs/heads/master.lock': Permission denied
sudo chown -R harry testgit.git/ 需要对目录增加用户权限。