我有一个带有Git子模块的项目.它来自ssh:// ... URL,并且在提交A.提交B已被推送到该URL,我希望子模块检索提交,并更改为它.
现在,我的理解是git submodule update应该这样做,但事实并非如此.它没有做任何事情(没有输出,成功退出代码).这是一个例子:
$ mkdir foo
$ cd foo
$ git init .
Initialized empty Git repository in /.../foo/.git/
$ git submodule add ssh://user@host/git/mod mod
Cloning into mod...
user@host's password: hunter2
remote: Counting objects: 131, done.
remote: Compressing objects: 100% (115/115), done.
remote: Total 131 (delta 54), reused 0 (delta 0)
Receiving objects: 100% (131/131), 16.16 KiB, done.
Resolving deltas: 100% (54/54), done.
$ git commit -m "Hello world."
[master (root-commit) 565b235] Hello world.
 2 …我检查了相关的线程,但仍然无法弄清楚幕后发生了什么.
当我输入时git remote show origin,我得到了:
* remote origin
  Fetch URL: xxxx
  Push  URL: xxxx
  HEAD branch (remote HEAD is ambiguous, may be one of the following):
    development
    master
  Remote branches:
    development tracked
    master      tracked
  Local branches configured for 'git pull':
    development merges with remote development
    master      merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)
我也查了一下git show-ref,得到了:
3f8f4292e31cb8fa5938dbdd406b2f357764205b refs/heads/development
3f8f4292e31cb8fa5938dbdd406b2f357764205b refs/heads/master
3f8f4292e31cb8fa5938dbdd406b2f357764205b refs/remotes/origin/development
3f8f4292e31cb8fa5938dbdd406b2f357764205b refs/remotes/origin/master
这是我执行的所有分支的列表git branch …
我有一个工作的git repo.但是,我错过了remotes/origin/HEAD -> origin/master打字的时候git branch -a.为什么HEAD丢失了,如何将丢失的HEAD添加到我的仓库?
由于 git 中有多种默认分支选择,我如何编写一个引用默认分支(无论名称如何)的脚本/别名?
我的具体示例是我的别名,它重新定位到最新的远程主控:
### version for `master`
#   rebaseOn = "!f() { BRANCH=$(git symbolic-ref --short HEAD) && git fetch && git pull --rebase; git rebase origin/${1:-master}; }; f"
### version for `main`
    rebaseOn = "!f() { BRANCH=$(git symbolic-ref --short HEAD) && git fetch && git pull --rebase; git rebase origin/${1:-main}; }; f"
用法:git rebaseOn或git rebaseOn newParentBranch(因为它默认输入${1:-main})
我希望该命令适用于那里的任一版本,因为我使用的各种存储库都有main或master或default或trunk
到目前为止,我已经找到了/sf/answers/3503969731/:git remote show upstream | grep …
有没有什么聪明的方法来确定 Github 操作中的默认分支?
现在我需要写一些类似的东西:
on:
  push:
    branches:
      - master
有没有办法编写类似下面的代码?
on:
  push:
    branches:
      - $default-branch
我试着用谷歌搜索但什么也没找到
简而言之,GitHub 建议使用main而不是master默认分支。
我们怎样才能得到这个名字来编写弹性的 Git 别名呢?如何获取 Git 中“master”分支的默认值?
我已经搜索过了,但是git 中没有任何解决方案 - 如何获取默认分支?对我来说可靠地工作...
如果我在分支feature,从 分叉develop,它会返回我develop而不是master(或者main,从develop分叉 )...
那么如何获得“master”分支名称呢?
注意 -问题可能是:为什么git remote show origin不向我展示master,而是develop作为HEAD branch?
我的目标是在默认分支中获取最新SHA的树
GET /repos/:owner/:repo/git/trees/:sha
如何从默认分支中找到最新的SHA?
我知道我可以打电话
GET /repos/:owner/:repo/branches/:branch
但我不能只为分支使用"master",因为并非所有repos都使用master作为默认分支.
如何找出回购的默认分支是什么?
更多项目正在将其默认分支master从main. 有没有一种方法可以检查default分支而不必查找它是否被称为master或main完全不同的东西?
如何从命令行/终端获取主分支名称?
\n\n我知道默认情况下会调用主分支master,但是可以将其重命名为他们想要的任何名称。
PS\xe2\x80\x94如果能得到本地和远程主分支的名称就好了。
\n\n编辑:我所说的main branch其他人可能会称之为default branch或stable branch。它\xe2\x80\x99是你(应该)将所有内容(稳定/工作)合并到其中的一个。
不同的存储库以不同的方式命名其主要开发分支(例如main,gh-pages,master, 等),并且旨在与多个存储库一起使用的脚本需要一种自动方式来发现当前存储库的默认分支名称。
什么git命令返回该名称?