美文网首页
git远程仓库

git远程仓库

作者: __Jo | 来源:发表于2020-03-25 11:16 被阅读0次

    关键字

    git remote

    参考

    阮一峰:Git远程操作详解

    横向对比

    搜索git和svn的差别,可以发现都是说svn是存在中央仓库,而git没有中央仓库。即本地git clone的一个代码库,也是可以作为别人clone的远程仓库

    这篇主要记录下如何通过git建立私人代码仓库(代码备份)。

    git init --bare [code_dir]

    git init这个命令,使用过git的同学应该都了解,是用于初始化一个新的git库。

    # 在当前目录下初始化一个test0的git库
    git init test0 
    # ls -a 可以看到有一个.git文件夹,所有git相关的信息,如分支,提交记录,都是存在.git文件夹。
    
    # 在当前目录下加上 --bare 参数,初始化一个test1.git的git库
    git init --bare test1.git
    # 此时进入到 test1.git目录,查看目录结构,会发现原先的.git文件夹不存在
    # 看过刚刚.git文件夹目录结构,就会发现加上--bare参数的目录结构和不加--bare参数的.git文件夹是一样的。
    
    # cn.bing.com的解释
    bare
    *   adj.裸体的;裸露的;(树木)光秃秃的;(土地)荒芜的
    *   v.揭开;脱(衣服)
    *   网络赤裸的;光秃的;空的
    

    在建test1.git的时候,目录名称刻意是用.git命名结尾。默认的命名规范下,以.git结尾即表示该git库是bare库。
    讲了上面这些,主要就是想说bare库和普通git库有什么差别。bare库不能checkout分支,也就无法commitmerge操作。一般作为企业代码仓库管理,这种特性非常适合。避免直接在仓库上,提交、合并代码,导致发生代码冲突。

    关联远程仓库,PUSH代码

    # 代码是从其他地方 clone 下来的,执行 git remote,会有默认名为origin的远程仓库地址
    # 如果不想用这个origin作为默认名,可以在clone时,指定 -o 或 --origin 参数来设置新的名称
    git remote
    # 查看origin这个远程仓库的地址信息
    git remote get-url origin
    

    现在要将上述 test1.git 添加为 test0的一个远程仓库(通过sshd服务,假设sshd服务已经启动)

    cd test0
    # 假定存在git系统用户,且test1.git在git用户Home目录下
    git remote add test-repo ssh://git@127.0.0.1:/~/test1.git
    # push 所有分支
    git push test-repo --all
    # git push test-repo master:master
    

    很多博客开篇上来就介绍github这些代码托管平台,如何如何添加公钥,实际上这个只是用于ssh免登陆密码,把对于git本身理解的重点搞偏。

    相关文章

      网友评论

          本文标题:git远程仓库

          本文链接:https://www.haomeiwen.com/subject/teqtuhtx.html