Git 创建了一个新分支尽管提交...如何解决这个问题?

Git creates a new branch despite commit... How to fix this?

首先我将从我的工作流程开始:

  1. 在我的本地存储库中创建更改(使用 Notepad++)
  2. 尝试将更改推送到远程存储库 - 标准 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 存储库中看到一个新的提交,而无需合并。

您已经呼叫本地 b运行ch master 一段时间了。

你 运行 git push,因为你打电话给本地 b运行ch master - 意思是 git push origin master:master。也就是说,您让 Git 将您在 master 上的新提交发送到 [=] 上的另一个 Git 存储库https://github.com/Mikma03/Python_Bill_Lubanovic_BookCodes.git 中的 80=]Hub,然后要求他们 (GitHub) 在他们的存储库中创建或更新名为 master.[=40= 的 b运行ch ]

如果你想在你这边使用其他的 b运行ch 名称,重命名你的 b运行ch:

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 存储库中没有 b运行ch 名称,但您 你的 master b运行ch。你只是在 不存在 的 b运行ch 上。此时您有两个选择:重命名不存在的 b运行ch,例如:

git checkout --orphan main

这是一种真的奇怪的拼写方式“重命名不存在的 b运行ch”,或者继续创建第一个提交,然后使用 git branch -m 重命名 master.

在 Git 的最新版本中,git init 有一个标志 -b,用于设置 b运行ch 名称:

git init -b main

创建存储库,这样不存在的 b运行ch 将被命名为 main 而不是 master。这避免了必须重命名 b运行ch,但需要一个相当新的 Git 版本。还有一个新的 init.defaultBranch 配置变量,但是这个有一个缺点,如果你的 Git 太老不知道这个配置变量,git init 默默地 忽略 它。 -b 标志的优点是它可以工作,或者 git init 抱怨它不知道 -b 是什么意思。