尽管提交,Git 创建了一个新分支......如何解决这个问题?
Posted
技术标签:
【中文标题】尽管提交,Git 创建了一个新分支......如何解决这个问题?【英文标题】:Git creates a new branch despite commit... How to fix this? 【发布时间】:2021-12-20 03:22:23 【问题描述】:首先,我将从我的工作流程开始:
-
在我的本地存储库中创建了更改(使用 Notepad++)
尝试将更改推送到远程存储库 - 标准 Git 流程:
2.1. git add README.md
2.2. git commit --m "xxx"
2.3. git push
Git 在我的 GitHub 新分支“master”上创建之后,我需要创建一个拉取请求,然后,我可以合并更改...
$ git push
Enumerating objects: 32, done.
Counting objects: 100% (32/32), done.
Delta compression using up to 12 threads
Compressing objects: 100% (27/27), done.
Writing objects: 100% (32/32), 6.42 KiB | 2.14 MiB/s, done.
Total 32 (delta 8), reused 22 (delta 5), pack-reused 0
remote: Resolving deltas: 100% (8/8), done.
remote:
remote: Create a pull request for 'master' on GitHub by visiting:
remote: https://github.com/Mikma03/Python_Bill_Lubanovic_BookCodes/pull/new/master
remote:
To https://github.com/Mikma03/Python_Bill_Lubanovic_BookCodes.git
* [new branch] master -> master
我坚信有办法解决这个问题。你有什么建议吗?
我希望在我的 GitHub 存储库上看到一个新的提交,而无需合并。
【问题讨论】:
你试过 git push -u origin 主命令了吗? 【参考方案1】:一段时间以来,您一直在致电您当地的分支机构 master
。
您运行的是git push
,因为您调用的是本地分支master
,所以这意味着git push origin master:master
。也就是说,您让 Git 将您在master
上创建的新提交发送到 GitHub 上 https://github.com/Mikma03/Python_Bill_Lubanovic_BookCodes.git
上的另一个 Git 存储库,然后让他们 (GitHub) 创建或者在他们的存储库中更新一个名为 master
的分支。
如果您希望在您的最后使用其他分支名称,重命名您的分支:
git branch -m new-branch-name
例如。 (-m
选项代表 move,这是一种有趣的拼写 rename
的方式:这可以追溯到用于重命名文件的 Linux mv
命令,而该命令又可以追溯到 Unix mv
命令。)
如果您希望在 您的 端使用名称 master
,但在 GitHub 上使用名称 roxible
,请使用:
git push origin master:roxible
(通常这是一个坏主意,因为人们发现这种名称映射令人困惑,而且您每次都必须不断重复冒号语法,这很烦人 - 有一些解决方法 但那已经很遥远了)。
请注意,当您在自己的计算机上创建一个新的、完全为空的存储库时:
mkdir new-repo
cd new-repo
git init
例如(在 Linux 系统上),您的 Git 存储库中没有分支名称,但您在您的 master
分支。你只是在一个不存在的分支上。此时您有两个选择:重命名不存在的分支,例如:
git checkout --orphan main
这是一种真的奇怪的方式来拼写“重命名一个不存在的分支”,或者继续创建第一个提交,然后使用git branch -m
重命名master
。
在最新版本的 Git 中,git init
有一个标志 -b
,用于设置分支名称:
git init -b main
它创建了存储库,以便将不存在的分支命名为 main
而不是 master
。这避免了重命名分支,但需要一个相当新版本的 Git。还有一个新的init.defaultBranch
配置变量,但是这个有一个缺点,如果你的 Git 太旧而无法知道这个配置变量,git init
会默默地忽略它。 -b
标志的优点是它可以工作,或者git init
抱怨它不知道-b
的含义。
【讨论】:
以上是关于尽管提交,Git 创建了一个新分支......如何解决这个问题?的主要内容,如果未能解决你的问题,请参考以下文章