Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 本地存储库无法从远程存储库中提取分支_Bash_Git_Gitlab - Fatal编程技术网

Bash 本地存储库无法从远程存储库中提取分支

Bash 本地存储库无法从远程存储库中提取分支,bash,git,gitlab,Bash,Git,Gitlab,我已经与另一位现场开发人员成功地使用了GitLab,他们在C和MATLAB中进行了一些小项目 在家使用VPN工作时,我将一个大型LabVIEW程序推到了一个新项目中,这样我就可以与另一个非现场开发人员一起工作。开发人员克隆了这个项目,并开始在一个分支上工作 问题是我无法提取/获取此分支。GitLab正在显示开发人员所做的分支和提交 我使用git的时间不长,所以我可能只是太愚蠢了 我特别注意了这一点,但并没有使它起作用,下面是我尝试过的一些事情 $ git remote remove somel

我已经与另一位现场开发人员成功地使用了GitLab,他们在C和MATLAB中进行了一些小项目

在家使用VPN工作时,我将一个大型LabVIEW程序推到了一个新项目中,这样我就可以与另一个非现场开发人员一起工作。开发人员克隆了这个项目,并开始在一个分支上工作

问题是我无法提取/获取此分支。GitLab正在显示开发人员所做的分支和提交

我使用git的时间不长,所以我可能只是太愚蠢了

我特别注意了这一点,但并没有使它起作用,下面是我尝试过的一些事情

$ git remote remove somelongcode
fatal: No such remote: 'somelongcode'

正如你在当地看到的,我看不到分支






要将本地存储库分支列表与远程存储库分支列表同步,请使用

因此,您的命令应该类似于:

git fetch somelongcode

然后您应该拥有最新的分支列表:)

要将本地存储库分支列表与远程存储库分支列表同步,请使用

因此,您的命令应该类似于:

git fetch somelongcode

然后您应该有最新的分支列表:)

任何git回购的结构都是相同的,无论您走到哪里,您都可以在.git/refs/heads文件夹下检查您的本地分支,或者使用命令
git branch

至于在repo中声明的remote中有什么,您可以在.git/refs/remotes/中看到,或者使用命令
git branch-a
并检查红色的行

现在说到手头的主题,任何git回购都需要知道您将要使用的远程设备的url和名称,您可以使用
git remote
来管理它。因此,如果要列出它们,请使用git remote, 使用git remote-v来列出每种方法的上下流程,以及 要添加新的远程使用,请使用git remote add

如果使用ssh
git@/.git
,则远程url的组成如下所示,因此它由以下部分组成:

  • 服务器地址如果您使用的是gitlab,则它是
    gitlab.com
  • 名称空间如您所述,它是
    ,最后
  • repo name在我们的例子中是
    project
    ,但您仍然需要url末尾的
    .git
    扩展名
您还可以通过单击clone按钮从gitlab界面复制url,该按钮将用ssh显示url,另一个用https显示url


现在,如果您正确配置了远程服务器,则需要使用命令
git fetch
用远程服务器中的内容刷新本地存储库,并将所有分支从远程服务器下载到.git/refs/remotes/文件夹中,然后如果您有一个分支,但在本地服务器中没有任何镜像分支(.git/refs/heads)您可以使用命令
git checkout-b/
自己创建它,以便能够在上面添加其他提交。无论您走到哪里,任何git回购的结构都是相同的,您可以检查文件夹下的本地分支。git/refs/heads或使用命令
git branch

至于在repo中声明的remote中有什么,您可以在.git/refs/remotes/中看到,或者使用命令
git branch-a
并检查红色的行

现在说到手头的主题,任何git回购都需要知道您要使用的远程设备的url和名称,并且您可以使用
git remote
来管理它。因此,如果您想列出它们,请使用
git remote
, 使用git remote-v来列出每种方法的上下流程,以及 要添加新的远程使用,请使用git remote add

如果使用ssh
git@/.git
,则远程url的组成如下所示,因此它由以下部分组成:

  • 服务器地址如果您使用的是gitlab,则它是
    gitlab.com
  • 名称空间如您所述,它是
    ,最后
  • repo name在我们的例子中是
    project
    ,但您仍然需要url末尾的
    .git
    扩展名
您还可以通过单击clone按钮从gitlab界面复制url,该按钮将用ssh显示url,另一个用https显示url

现在,如果您正确配置了远程服务器,则需要使用命令
git fetch
用远程服务器中的内容刷新本地存储库,并将所有分支从远程服务器下载到.git/refs/remotes/文件夹中,然后如果您有一个分支,但在本地服务器中没有任何镜像分支(.git/refs/heads)您可以自己创建它,通过使用命令
git checkout-b/

尝试以下操作,在它上面添加其他提交

$ git remote add origin remote/repository/URL
# Sets the new remote

$ git remote -v
# Verifies the new remote URL
然后

试试下面的方法

$ git remote add origin remote/repository/URL
# Sets the new remote

$ git remote -v
# Verifies the new remote URL
然后


您好@Yannoff和其他看过这个的人。谢谢您的帮助。我想我用Bash尝试了几乎所有的方法。我在另一台机器上克隆了这个项目,一切正常。然后我在我的机器上再次克隆了它,一切正常。是我原来的本地存储库导致了问题。我想知道是否正常工作从家里通过VPN有效果吗?现在一切正常,但我原来的本地回购协议没有

然而,我现在更清楚地知道,在你给我的网络链接的帮助下,这一切是如何运作的,所以这一切都不是在静脉


非常好的网站-

您好@Yannoff和其他看过这篇文章的人。谢谢您的帮助。我想我用Bash尝试了几乎所有的东西。我在另一台机器上克隆了这个项目,一切正常。然后我在我的机器上再次克隆了它,一切正常。是我原来的本地存储库导致了这个问题s、 我想知道通过VPN在家工作是否有效果?现在一切都正常了,但我原来的本地回购协议没有

然而,我现在更清楚地了解了它是如何与t一起工作的
$ git branch
* master
$ git remote show origin
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
git fetch somelongcode
$ git remote add origin remote/repository/URL
# Sets the new remote

$ git remote -v
# Verifies the new remote URL
git pull origin branch_name