Sasha Asked:2021-10-30 14:03:55 +0800 CST2021-10-30 14:03:55 +0800 CST 2021-10-30 14:03:55 +0800 CST 合并主分支和主分支 772 创建了一个项目,主分支是 master,提交,推送。原来只有 .gitignore 位于主分支,在电脑上只有 master 分支可见。如何将它们合并到 main 中? github 3 个回答 Voted Best Answer aleksandr barakin 2021-11-01T19:49:48+08:002021-11-01T19:49:48+08:00 如果您已经有本地存储库,则无需在 github.com 服务器上创建提交(此处清楚地写了:如果您已经有本地存储库,请跳过此步骤)。但我们将假设.gitignore您迫切需要服务器生成的文件的内容。这是第一个假设。 您面临的下一个问题源于 github.com 服务器所有者的疯狂(我的价值判断) - 虽然git程序创建了一个名为的默认分支master,不久前他们决定在他们的服务器上创建一个名为的分支main. 我们将假设您愿意与他们一起main在本地和他们服务器上的存储库副本中使用该名称。这是第二个假设。 那你有什么? master在本地存储中具有一个或多个提交的分支。 在 github.com 存储库中,main具有自动生成的.gitignore. 我们想要得到什么? 带有分支的本地存储库,main其中包含来自本地分支的提交和在 github.com 服务器上master的分支中创建的提交main github.com 服务器上存储库中的相同图片 行动计划: 如果您尚未将在服务器上创建的存储连接到本地存储,请连接并从那里获取信息: $ git remote add origin git@github.com:имя-вашей-учётной-записи/имя-хранилища $ git fetch --all 如果突然没有声明你当前的分支master,那么让它这样: $ git checkout master 将服务器在分支中创建的提交添加到此分支main(包含自动生成文件的创建.gitignore): $ git cherry-pick origin/main 创建一个本地分支main,指向相同的提交(git 中的分支只是一个浮动指针,对吧?)master: $ git branch -f main master 现在使分支main电流: $ git checkout main 删除分支master: $ git branch -D master 并将分支推main送到服务器,同时覆盖(选项-f)将本地分支链接到服务器上的分支(选项-u): $ git push -f -u origin main 就这样。添加。阅读: $ man git-remote $ man git-fetch $ man git-checkout $ man git-cherry-pick $ man git-branch $ man git-push 但是下一次,尽量不要突然给自己制造问题:要么在服务器上创建一个空的存储库,然后将本地存储的内容发送到它,要么,因为你在服务器上创建了一个非空的存储库,所以它是一个本地克隆,并且已经将您的提交添加到它。 Джефф 2021-10-30T15:27:48+08:002021-10-30T15:27:48+08:00 1个选项: 1. git pull repo_title main (скопировать содержимое удаленного репозитория в локальный) 2. git checkout master (переместиться в ветку master) 3. git merge main (скопировать содержимое с ветки main в ветку master) 4. git branch -d main (удалить ветку main) 5. git push repo_title master (обновить ветку master удаленного репозитория) 6. git push --delete repo_title main (удалить ветку main на удаленном репозитории) 选项 2:将文件复制.gitignore到本地存储库。删除一个分支main(第 6 项或在 Github 界面中删除)。 Ilya Filisteev 2022-06-15T01:06:25+08:002022-06-15T01:06:25+08:00 面对同样的情况,开始在 PyCharm 上学习 Git。我很简单地解决了它,我从 github 存储库中删除了“master”分支,然后将 main 重命名为 master,然后将项目重新推送到 github。根据要求,确认变基。
如果您已经有本地存储库,则无需在 github.com 服务器上创建提交(此处清楚地写了:如果您已经有本地存储库,请跳过此步骤)。但我们将假设
.gitignore
您迫切需要服务器生成的文件的内容。这是第一个假设。您面临的下一个问题源于 github.com 服务器所有者的疯狂(我的价值判断) - 虽然git程序创建了一个名为的默认分支
master
,不久前他们决定在他们的服务器上创建一个名为的分支main
. 我们将假设您愿意与他们一起main
在本地和他们服务器上的存储库副本中使用该名称。这是第二个假设。那你有什么?
master
在本地存储中具有一个或多个提交的分支。main
具有自动生成的.gitignore
.我们想要得到什么?
main
其中包含来自本地分支的提交和在 github.com 服务器上master
的分支中创建的提交main
行动计划:
如果您尚未将在服务器上创建的存储连接到本地存储,请连接并从那里获取信息:
如果突然没有声明你当前的分支
master
,那么让它这样:将服务器在分支中创建的提交添加到此分支
main
(包含自动生成文件的创建.gitignore
):创建一个本地分支
main
,指向相同的提交(git 中的分支只是一个浮动指针,对吧?)master
:现在使分支
main
电流:删除分支
master
:并将分支推
main
送到服务器,同时覆盖(选项-f
)将本地分支链接到服务器上的分支(选项-u
):就这样。添加。阅读:
$ man git-remote
$ man git-fetch
$ man git-checkout
$ man git-cherry-pick
$ man git-branch
$ man git-push
但是下一次,尽量不要突然给自己制造问题:要么在服务器上创建一个空的存储库,然后将本地存储的内容发送到它,要么,因为你在服务器上创建了一个非空的存储库,所以它是一个本地克隆,并且已经将您的提交添加到它。
1个选项:
选项 2:将文件复制
.gitignore
到本地存储库。删除一个分支main
(第 6 项或在 Github 界面中删除)。面对同样的情况,开始在 PyCharm 上学习 Git。我很简单地解决了它,我从 github 存储库中删除了“master”分支,然后将 main 重命名为 master,然后将项目重新推送到 github。根据要求,确认变基。