V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Ncer
V2EX  ›  Linux

搭了一个 git 服务器,但是 push 不成功

  •  
  •   Ncer · Feb 2, 2016 · 7080 views
    This topic created in 3747 days ago, the information mentioned may be changed or developed.
    按照教程搭了一个 git 服务器
    http://blog.csdn.net/xsl1990/article/details/25486211

    在 git 服务器上建立了一个空仓库后,在自己的机子可以成功 git clone 下来
    但是在自己机子上做完一些修改
    git push 也正常,没有报错

    Counting objects: 18, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (18/18), done.
    Writing objects: 100% (18/18), 10.15 KiB | 0 bytes/s, done.
    Total 18 (delta 5), reused 0 (delta 0)
    To [email protected].×.×:/home/ncer/gittest
    * [new branch] master -> master

    但是到那个服务器上看,并没有文件提交上去……
    求指导,不知道是啥问题~~
    20 replies    2018-02-01 15:31:14 +08:00
    pagxir
        1
    pagxir  
       Feb 2, 2016   ❤️ 1
    已经成功,只是你不会用分布式管理工具而已。
    Ncer
        2
    Ncer  
    OP
       Feb 2, 2016
    @pagxir 不好意思,以前只用过 github ,还是第一次用这个
    不只能否指教?
    int64ago
        3
    int64ago  
       Feb 2, 2016   ❤️ 1
    @Ncer 其实只是把 .git/ 下的文件 push 了,你有必要完整看一遍: https://git-scm.com/book/en/v2
    pagxir
        4
    pagxir  
       Feb 2, 2016
    你重新在另外一个文件夹 clone 一遍就看到新文件了。如果已经 clone 过的,请使用 git fetch && git merge/rebase origin/master
    fan123199
        5
    fan123199  
       Feb 3, 2016 via Android   ❤️ 1
    服务器上是看不到文件的
    fan123199
        6
    fan123199  
       Feb 3, 2016 via Android
    你可以 clone 下来看,或者 checkout 文件一个个看
    Ncer
        7
    Ncer  
    OP
       Feb 3, 2016
    @int64ago @pagxir @fan123199
    哦哦哦,懂了!是我基本功不扎实!
    pagxir
        8
    pagxir  
       Feb 3, 2016
    1 、你件的仓库是 bare , 所以服务器根本不会检出 工作区。
    2 、即使你的仓库不是 bare ,服务器工作区也不会因为你执行 push 而更新,仍然需要你自己执行 git rebase/merge.
    publicAdmin
        9
    publicAdmin  
       Feb 3, 2016   ❤️ 2
    @Ncer github 我理解的是 git 的仓库 web 控制台,而实际根本也是用的 git 工具..
    我没理解 github 和 git 有什么不同....(其他周边另记)
    个人觉得诸如此类工具性质的东西,没比较花太多时间研究
    安利楼主一个可以迅速搭建的私有 git 库
    @Unknwon 开发的 gogit https://gogs.io/
    楼主也可以参考下 github 上 gogs 的 start 数

    - -
    Ncer
        10
    Ncer  
    OP
       Feb 3, 2016
    @publicAdmin
    是的,我的意思是说平时在 github 上只用过简单的 commit push poll ,
    没有深入了解原理
    moliliang
        11
    moliliang  
       Feb 3, 2016
    本来就没有~
    msg7086
        12
    msg7086  
       Feb 3, 2016
    git --bare init 建立的是裸仓库,也就是你在 .git/ 内部看到的样子。
    至于 Working Directory ,需要你从仓库里签出才行。
    ericls
        13
    ericls  
       Feb 3, 2016 via iPhone
    git 还需要服务器么?我都是 ssh 连接的
    webjin
        14
    webjin  
       Feb 3, 2016 via Android
    我遇到过,明天发脚本你,推送成功,但是不显示文件是吧。
    webjin
        15
    webjin  
       Feb 3, 2016
    1.设置远程创库地址
    # git remote add origin ssh://[email protected]/home/test/.git/ 或者 add 修改(set-url )
    2.push 推送
    # git push origin master 首次执行
    # git push
    3.然后在远程创库执行以下命令,才可以看到更新的内容
    # git config --unset core.bare 首次执行
    # git reset --hard
    Neveroldmilk
        16
    Neveroldmilk  
       Feb 3, 2016
    应该是没有把远程目录的最新版本给 pull 下来。之后才能 commit ,最后才能 push 。
    xuyifei
        17
    xuyifei  
       Feb 3, 2016
    LioMore
        18
    LioMore  
       Feb 3, 2016 via iPhone
    请 checkout 出来
    heaventear
        19
    heaventear  
       Mar 28, 2017
    如果是 github 的仓库,可以挂梯子,我用的是天路加速器,看他们官网的命令行加速器教程,可以提速几十倍, https://91tianlu.com/knowledgebase.php
    Zz0Zz
        20
    Zz0Zz  
       Feb 1, 2018
    我刚刚试了一下,要想同步 push 的文件,在服务器创建 project 时,不要创建裸仓库
    #1 . 创建支持工作目录的远程仓库

    ## 远程服务器初始化仓库
    git init <仓库名>
    ## 设置允许远程接收文件
    git config receive.denyCurrentBranch ignore

    #2. cd 仓库名 /.git ,在 hooks 文件夹中添加 post-receive 钩子文件(用于自动更新工作目录内容)
    touch post-receive
    vim post-receive
    加入内容
    WORK_TREE='../'
    git --work-tree="${WORK_TREE}" reset --hard
    然后保存

    #2. chmod -R 777 post-receive (为该文件赋予权限)

    然后你再 push 时就可以看到上面的文件了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   950 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 19:47 · PVG 03:47 · LAX 12:47 · JFK 15:47
    ♥ Do have faith in what you're doing.