Git 如何在我的团队存储库站点中创建远程存储库?

Git 如何在我的团队存储库站点中创建远程存储库?,git,Git,我正在做一个厨师项目,所以我在笔记本电脑上运行了《伯克斯烹饪书我的项目》。然后我运行了git init,git add-A,然后运行git commit,这样项目就在我的本地git存储库中了。现在,我想将它推送到我的团队使用的中央服务器,并添加它 我运行了git remote add baseLaunchergit@git.mycompany.com:myteam/baseLauncher.git未生成任何输出。所以我觉得效果不错 然后我运行了git push,但是我得到了以下错误 致命:没有配

我正在做一个厨师项目,所以我在笔记本电脑上运行了《伯克斯烹饪书我的项目》。然后我运行了
git init
git add-A
,然后运行
git commit
,这样项目就在我的本地git存储库中了。现在,我想将它推送到我的团队使用的中央服务器,并添加它

我运行了git remote add baseLaunchergit@git.mycompany.com:myteam/baseLauncher.git未生成任何输出。所以我觉得效果不错

然后我运行了git push,但是我得到了以下错误

致命:没有配置推送目标。从 使用命令行或配置远程存储库

git remote add <name> <url>
git远程添加
然后使用远程名称推送

git push <name>
git推送
但那正是我所做的。我试着搜索git帮助(无用)并在谷歌上搜索任何与此相关的内容,但所有的搜索结果似乎只针对1)。如何提取远程存储库(2)。如何分支(3)。设置其他用户将使用的中央存储库

有什么办法吗

我应该注意,我正在尝试使用命令行在远程服务器上创建repo。回购必须“在”我的团队的git用户名下进行

需要明确的是,这个git服务器是我工作的公司网络上的主机。我刚刚被分配了一个新项目,我希望能够在服务器上远程为这个新项目创建repo。我假设有一个git命令可以让我做到这一点。

git是一个分布式版本控制系统或DVCS,这意味着没有一个存储库比其他存储库更重要。因此,您不能远程创建repo,并且必须在创建repo的机器上(通过SSH等)

在远程位置创建回购协议是一个相对简单的过程

它包括使用
git init
创建repo,就像您在本地机器上所做的那样(除非您将在远程机器上进行SSHing),并使用
--bare
标记确保on-git对象位于存储库中(而不是包含实际代码的实际工作目录,您不需要它,因为它不是开发机器)

假设没有特殊的软件(如Stash或GitHub),您将需要SSH到机器中,并使用
gitinit--bare
创建一个裸repo到您想要的目录中

所以


我写了一篇文章,概述了我所了解和实施的整个过程,请查看完整细节:

设置服务器

  • SSH到服务器
  • 将目录更改为项目根目录

    cd public\u html/project

  • 设置存储库位置并移动到该目录

    mkdir-p项目名称.git

    cd项目名称.git

  • 设置一个裸git实例

    git init--bare

  • 设置一个post接收挂钩,以便在推送时展开

    touch hook/post receive
    //创建钩子

    chmoda+x钩子/post-receive
    //使钩子可执行

  • 将代码推送到一个远程站点(如github)是一回事,但在这种情况下,当您将提交推送到这个远程站点时,您将需要签出文件,以便它们实际部署,我们将在这个钩子中完成这项工作

  • 在您喜爱的编辑器中,编辑新创建的“post receive” 脚本(这将与ftp客户端一起使用“查看/编辑”, 或者从SSH终端,您可以使用VIM编辑器(如果您需要的话) )。插入此脚本(根据设置需要进行修改)
  • #/bin/bash
    # 1. 读取STDIN(格式:“从提交到提交分支名称”)
    读取oldrev newrev refname时
    做
    分支=$(git rev parse--symbolic--abbrev ref$refname)
    如果[“生产”=“$branch”];然后
    `GIT_WORK_TREE=../production GIT checkout-f production`
    回显“部署到实时站点的更改”
    fi
    如果[“阶段”=“$branch”];然后
    `GIT_WORK_TREE=../stage GIT checkout-f stage`
    回显“部署到后台站点的更改”
    fi
    如果[“开发”=“$branch”];然后
    `GIT_WORK_TREE=../dev GIT checkout-f development`
    回显“部署到开发站点的更改”
    fi
    
    完成
    当我浏览我们的Git存储库并单击其中一个存储库链接时,这个消息突然出现。显然它还不存在,因为我得到了这样的回答:

    在命令行上创建新存储库

    从命令行推送现有存储库


    在远程位置创建回购协议是我的意图。我将更新我的问题,使其更加明显。这是Xtremefaith在他的文章中提出的建议。但是我没有ssh到远程服务器的权限。由于我可以对远程服务器执行git命令,我认为其中一个命令将允许我远程创建一个新的存储库。添加远程意味着您可以对远程服务器进行HTTPS访问或SSH访问。如果不这样做,则无法运行命令,也无法在计算机上启动git存储库。请具有SSH访问权限的人员,或者查看您的公司是否正在使用软件来管理其git存储库(如Stash或GitHub),不幸的是,这导致:通道0上的PTY分配请求失败Hi!您已成功通过身份验证,但GitHub不提供shell访问。与git.corp.yahoo.com的连接已关闭。托管它的是我们公司的服务器。我是一个团队的成员,在一个刚刚分配给我的项目上工作。是的,我做了十年的系统操作员。我非常熟悉Unix和SSH。”然后我运行“git push”并得到以下错误:“…然后使用远程名称“git push”进行push…”。。。所以,您应该运行“git push baseLauncher”
    $> ssh myuser@git.company.com
    $> git init --bare myteam/baseLauncher.git
    
    touch README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin git@git.corp.company.com:MyWorkgroup/project-cd.git
    git push -u origin master
    
    git remote add origin git@git.corp.company.com:MyWorkgroup/project-cd.git
    git push -u origin master