我在搭建了git服务器,上传代码好像也成功了,但是我在服务器上找不到,这是正常情况吗?

clipboard.png

如上图是我在git服务器上的目录,我在里面找不到我提交的代码。我在本地提交了代码,信息也是对的,修改再提交都行,如下图所示

clipboard.png

是不是提交了代码到服务器上,是看不到的?那几个目录我都找了,没有我提交的文件。看了一些教程,还是有点乱,求解答。

阅读 15.9k
6 个回答

如果你是用 git init --bare mygit.git 建立的仓库.
该仓库是没有工作目录的.但问题中你说找不到工作目录.说明远程服务可能是部署工作,需要包含工作目录.
建立方法如下.

  1. 创建支持工作目录的远程仓库

    # 远程服务器初始化仓库
    git init <仓库名>
    # 设置允许远程接收文件
    git config receive.denyCurrentBranch ignore
  2. 在远程仓库,post-receive 钩子文件中添加自动更新工作目录内容

    WORK_TREE='../'
    git  --work-tree="${WORK_TREE}" reset --hard

确保 post-receive 具有执行权限

以上就实现了一个最简单的建立具有工作目录的远程 git 仓库功能.

可以直接编写一个 shell 脚本,封装上述逻辑即可,方便后续操作

依据你的截图,你现在是到了git commit 这一步,也就是将代码提交至本地, 但是如果需要将代码提交到远程仓库时,还需要执行git push 这一命令

你没有push,代码还是在本地

你没理解git是分布式的版本控制系统这一条。你的操作都是在本地的,直到使用了pullpush进行远程同步

本地设置了ssh的秘钥了吗

你还需要执行git push origin master

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题