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

时间:2019-07-04 09:59:10

标签: bash git gitlab

我已经与另一个使用C和MATLAB进行小型项目的现场开发人员一起成功使用了GitLab。

使用VPN在家里工作,我将一个大型LabVIEW程序推入了一个新项目,因此我可以与另一个场外开发人员一起工作。开发人员克隆了该项目,并开始在分支机构工作。

问题是我无法拉/取这个分支。 GitLab正在显示开发人员已完成的分支和承诺。

我使用git的时间不长,所以我可能只是个笨蛋。

Git push: "fatal 'origin' does not appear to be a git repository - fatal Could not read from remote repository."

我已经特别研究了这个问题,但是没有使它起作用,下面是我尝试过的一些事情。

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

$ git remote add origin
usage: git remote add [<options>] <name> <url>

    -f, --fetch           fetch the remote branches
    --tags                import all tags and associated objects when fetching
                          or do not fetch any tag at all (--no-tags)
    -t, --track <branch>  branch(es) to track
    -m, --master <branch>
                          master branch
    --mirror[=(push|fetch)]
                          set up remote as a mirror to push to or fetch from

$ git remote master --prune
error: Unknown subcommand: master
usage: git remote [-v | --verbose]
   or: git remote add [-t <branch>] [-m <master>] [-f] [--tags | --no-tags] [--mirror=<fetch|push>] <name> <url>
   or: git remote rename <old> <new>
   or: git remote remove <name>
   or: git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
   or: git remote [-v | --verbose] show [-n] <name>
   or: git remote prune [-n | --dry-run] <name>
   or: git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]
   or: git remote set-branches [--add] <name> <branch>...
   or: git remote get-url [--push] [--all] <name>
   or: git remote set-url [--push] <name> <newurl> [<oldurl>]
   or: git remote set-url --add <name> <newurl>
   or: git remote set-url --delete <name> <url>

    -v, --verbose         be verbose; must be placed before a subcommand
________________________
$ git fetch origin master
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 reset --hard origin/master
fatal: ambiguous argument 'origin/master': unknown revision or path not `in the working tree.`
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

我可以在远程看到分支。这是最令人鼓舞的,至少即使我无法与我的本地存储库同步,我也能看到该遥控器

$ git ls-remote
From git@gitlab.com:group/project.git
somelongcode        HEAD
somelongcode        refs/heads/apploc
somelongcode        refs/heads/master

您在本地可以看到我看不到分支


$ git pull
From gitlab.com:group/project
 * branch            master     -> FETCH_HEAD
Already up to date.

$ 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.

4 个答案:

答案 0 :(得分:0)

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

因此您的命令应类似于:

git fetch somelongcode

那么您应该拥有最新的分支机构列表:)

答案 1 :(得分:0)

无论您走到哪里,任何git repo的结构都是相同的,您可以在.git / refs / heads文件夹下或使用命令git branch检查本地branhces。 至于您的仓库中声明的遥控器中的内容,则可以在.git / refs / remotes /中查看它们,也可以使用命令git branch -a查看它们,并检查红色线条。 现在讨论主题,任何git repo都需要知道您将要使用的任何远程服务器的URL和名称,并且可以使用git remote来管理它们,因此,如果要列出它们,请使用{{1 }}, 列出每个使用git remote的上流和下流 添加新的远程git remote -v 如果您使用的是ssh git remote add <remote_name> <remote_url>,则远程url如下组成,因此它的组成如下:服务器地址女巫,如果您使用的是gitlab git@<server_address>:<name_space>/<repo_name>.git,名称空间女巫是gitlab.com最后,在我们的情况下,仓库名称为女巫group,但您仍需要在URL末尾使用project扩展名,也可以通过单击克隆按钮witch从gitlab界面复制URL会用ssh和https显示网址。 现在,如果您确实正确配置了遥控器,则需要使用命令.git用遥控器中的内容刷新本地存储库,然后将所有分支从遥控器下载到您的.git / refs / remotes /文件夹中,然后,如果您有一个分支,并且在本地(.git / refs / heads)中没有任何镜像分支,则可以自己创建它,以便能够在其上添加其他提交,并且可以使用命令{{ 1}}。

答案 2 :(得分:0)

尝试以下

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

$ git remote -v
# Verifies the new remote URL

然后

git pull origin branch_name

答案 3 :(得分:0)

您好@Yannoff和其他查看过此内容的人。感谢您的帮助。我想我几乎对Bash都做了尝试。我将该项目克隆到另一台计算机上,并且一切正常。然后,我再次将其克隆到计算机上,一切正常。造成此问题的是我原来的本地存储库。我想知道在家通过VPN工作是否会产生效果?现在一切正常,但不是我原来的本地存储库。

不过,现在借助您提供给我的Web链接,我将更清楚地了解这一切的工作原理,因此并非一帆风顺!

非常好的网站-https://www.atlassian.com/git/tutorials