相关疑难解决方法(0)

运行"git branch -r"时为什么会显示"origin/HEAD"?

当你运行git branch -r为什么火焰会列出origin/HEAD?例如,GitHub上有一个远程仓库,比如说有两个分支:master和awesome-feature.如果我git clone抓住它然后进入我的新目录并列出分支,我看到:

$ git branch -r
origin/HEAD
origin/master
origin/awesome-feature
Run Code Online (Sandbox Code Playgroud)

或者它的任何顺序(阿尔法?我​​正在伪造这个例子以保持无辜的回购秘密的身份).那么HEAD业务是什么?它是什么,最后一个人push有他们HEAD在尖时,他们推?这不会是他们push编辑的一切吗?HEAD四处走动......为什么我会关心别人HEAD在另一台机器上指出的东西?

我只是处理远程跟踪等问题,所以这是一个挥之不去的混乱.谢谢!

编辑:我的印象是专用的远程回购(比如GitHub,没有人会在这个代码上工作,但只有拉或推等)没有也不应该有HEAD,因为基本上,没有工作副本.不是吗?

git version-control github

150
推荐指数
5
解决办法
5万
查看次数

将Git远程HEAD更改为指向除master之外的其他东西

如何将Git遥控器的HEAD引用设置为指向除"master"之外的其他内容?

我的项目有一个不使用"主"分支的策略(所有分支都有有意义的名称).此外,规范主存储库只能通过ssh://访问,没有shell访问权限(如GitHub或Unfuddle).

我的问题是远程存储库仍然有一个HEAD引用refs/heads/master,但我需要它指向一个不同的分支.这导致两个问题:

  1. 克隆回购时,有这个,

    警告:远程HEAD是指不存在的ref,无法结帐.

    这令人困惑和不方便.

  2. 基于Web的代码浏览器依赖于HEAD作为浏览树的基础.我需要HEAD指向一个有效的分支,然后.

git git-remote git-branch

120
推荐指数
8
解决办法
17万
查看次数

为什么在我的`git branch -l -a`输出中有一个`remotes/origin/HEAD - > origin/master`条目?

我不明白输出中的第二行git branch -l -a:remotes/origin/HEAD -> origin/master.

git branch -l -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

这是另一种手术的遗留物吗?我应该把它清理干净吗?那我该怎么办?

通常我在cli上使用git,但是在我尝试的本地存储库中TortoiseGit为朋友找到一个简单的git工作流程.

git branch

54
推荐指数
2
解决办法
3万
查看次数

如何在Gitlab中更改合并的默认目标分支

我们正在使用Gitlab 8.10.1与许多组和项目.许多项目恰好是其他项目的分支.我们的问题是,每当有人打开项目的合并请求时,默认目标分支不是项目的默认分支,而是来自一个非常特定的其他项目.有办法以某种方式覆盖此设置吗?为了说清楚,我知道如何设置项目的默认分支并且这些设置看起来是正确的,但gitlab似乎在创建合并请求时不会使用它们.这个问题非常烦人,当人们不注意并以完全不同的"主人"作为目标提出合并请求时,导致了奇怪的情况.

git settings merge gitlab

28
推荐指数
5
解决办法
1万
查看次数

为什么git不允许我删除远程分支

我有一个本地存储库,我想镜像到远程'websrv'.这曾经工作正常,直到我删除了一个本地分支.现在当我这样做

git push --mirror websrv
Run Code Online (Sandbox Code Playgroud)

我明白了

remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error: 
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: error: current branch, with or without a warning message.
remote: error: 
remote: error: To squelch this message, you can set it to 'refuse'. …
Run Code Online (Sandbox Code Playgroud)

git git-push

15
推荐指数
1
解决办法
1万
查看次数

如何解释git日志中的括号?

运行git log给我这样的输出:

commit 69b6309f09365c09a2fe10f09aee801d1fae29ee (HEAD -> master, edeviserBranch)
Author: eDeviser <eDeviser@xyz.com>
Date:   Mon Sep 2 09:53:07 2019 +0200

    added foo

commit 59a08270fb730db259a8d5819bb585a613024d97 (origin/master, origin/HEAD)
Author: eDeviser <eDeviser@xyz.com>
Date:   Mon Sep 2 09:49:50 2019 +0200

    More Text
Run Code Online (Sandbox Code Playgroud)

我不明白括号内内容的含义。括号内的文字是什么意思?这是提交所基于的分支吗?HEAD -> master如果是,和origin/master之间有什么区别origin/HEAD

如何解释git日志中的括号?

git command-line

9
推荐指数
2
解决办法
3059
查看次数

为什么git使用2个不同的命令来显示HEAD?

我注意到有2个HEAD:

  • git的\ HEAD
  • git的\裁判\遥控器\产地\ HEAD

当我使用时git show-ref HEAD,它只给我这个:

ce0762c073b407d794f54f0b5d2a50375fdcb609 refs/remotes/origin/HEAD
Run Code Online (Sandbox Code Playgroud)

当我使用git rev-parse HEAD它时,它给了我.git\HEAD的值:

a758e523fe40e799194878bac567b7f4b8eec2b9
Run Code Online (Sandbox Code Playgroud)

为什么Git使用2个不同的命令来显示HEAD?任何有力的理由?

git

3
推荐指数
1
解决办法
628
查看次数

没有遥控器/原点/ HEAD与gitlab

我对git很新,但我一直在我设置的远程服务器上玩它,我很确定我理解基础知识.

我刚刚设置了gitlab并将我的一些代码推送到了一个新项目上.我做的是:

  1. 获取目录中的所有代码
  2. git init
  3. git add.
  4. git commit -m"初始提交"
  5. git push origin master

原产地设立时:

git remote add origin git@1.2.3.4:myproject.git
Run Code Online (Sandbox Code Playgroud)

现在,当我做git branch -a时,我看到:

* master
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

而在我以前玩的时候,我总是看到:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

我知道头是当前检出的分支的指针,所以它不应该存在于原点上吗?它为什么不创造?

git gitlab

2
推荐指数
1
解决办法
2608
查看次数

Git,HEAD指向一个错误的分支

git branch -av命令的输出.现在我在dev分公司.

***dev** 3f126e0 Comment...
master 7a47db8 Another comment...
remotes/origin/HEAD   -> origin/master
remotes/origin/dev 3f126e0 Comment...
remotes/origin/master 7a47db8 Another comment...
Run Code Online (Sandbox Code Playgroud)

来自Scott Checkon的Pro Git一书.

How does Git know what branch you’re currently on? It keeps a special pointer called HEAD.

为什么在我上场时HEAD指向?origin/masterdev

git branch pointers

0
推荐指数
1
解决办法
887
查看次数