Open Yehnn opened 6 years ago
如果你是用 git init --bare mygit.git 建立的仓库. 该仓库是没有工作目录的.但问题中你说找不到工作目录.说明远程服务可能是部署工作,需要包含工作目录. 建立方法如下.
创建支持工作目录的远程仓库
# 远程服务器初始化仓库
git init <仓库名>
# 设置允许远程接收文件
git config receive.denyCurrentBranch ignore
在远程仓库,post-receive 钩子文件中添加自动更新工作目录内容
WORK_TREE='../'
git --work-tree="${WORK_TREE}" reset --hard
确保 post-receive 具有执行权限
以上就实现了一个最简单的建立具有工作目录的远程 git 仓库功能.
可以直接编写一个 shell 脚本,封装上述逻辑即可,方便后续操作
git服务器上那个目录 project001.git
这只是一个仓库. 你需要找个目录克隆出来, 才会显示你push
上去的内容的.
比如:
git clone project001.git pj001
cd pj001
git checkout master
就会显示出来.
谨记, 这只是一个仓库, 不是文件系统.
我看了下只有这个答案是对的,其余几个都是瞎扯,根本不看输出系列。补充一下,服务器端存放的叫> 裸库(bare),你可以认为就是你的仓库的.git/目录下面的那些东西,不包含工作区(working space)。直接> git clone --bare也可以直接拿到裸库做服务端,从裸库还原出工作区只需要git clone一次即可。
参考链接
⭐ 用 docker 模拟一台服务器和客户端,一台搭建 git 服务器,一台当作本地客户端使用。
⭐⭐ 部署负载均衡的服务器
⭐⭐⭐ 远程端的网页版