pycharm里提交代码被拒绝, Push rejected、Push to feigechaunshu/master was rejected
所以,先拉下最新的代码,合并完本地的代码,再推上去。正确的处理流程是:先把远程仓库的新内容拉取 (Pull) 下来,与您本地的代码合并 (Merge),然后再把合并后的结果一起推送 (Push) 上去。--------------------以下是AI的详细解答---------------------------------双击冲突文件,PyCharm 会打开一个非常好用的三栏式合并工具:左边是
先说结论:是因为GitHub远程仓库里代码改过代码,本地没更新,所以被拒绝,直接提交覆盖的话远程仓库里之前改动的、本地没有的那部分就被删掉了。所以,先拉下最新的代码,合并完本地的代码,再推上去。
--------------------以下是AI的详细解答---------------------------------
您现在遇到的 "Push rejected" (推送被拒绝) 是 Git 中最常见的问题之一。
问题原因
这个错误的核心原因是:您要推送的远程仓库 (GitHub 上) 包含了您本地没有的更新。
换句话说,在您上次从 GitHub 拉取代码之后,到您这次准备推送代码之前,GitHub 上的 master 分支已经有了新的提交。Git 为了防止您在不知情的情况下覆盖掉这些新的提交,就拒绝了您的推送请求。
这通常发生在以下几种情况:
-
您在创建 GitHub 仓库时,勾选了 "Add a README file"。这会在远程仓库上自动创建一个初始提交,而您的本地仓库里没有这个提交。
-
您在另一台电脑上提交了代码。
-
与您协作的其他人向这个分支推送了代码。
解决方法:先拉取,再推送
正确的处理流程是:先把远程仓库的新内容拉取 (Pull) 下来,与您本地的代码合并 (Merge),然后再把合并后的结果一起推送 (Push) 上去。
请在 PyCharm 中按照以下步骤操作:
第一步:拉取远程更改 (Pull)
-
打开 "Pull" 窗口:
-
通过 PyCharm 顶部菜单栏选择 VCS > Git > Pull...。
-
或者使用快捷键 Ctrl + T (Windows/Linux) 或 Cmd + T (macOS),然后选择 Pull。
-
-
执行拉取:
-
在弹出的 "Pull Changes" 窗口中,通常不需要修改任何设置,直接点击右下角的 "Pull" 按钮。
-
PyCharm 会自动从远程仓库 (origin) 的 master 分支拉取最新的更改,并尝试与您本地的提交进行合并。
-
第二步:处理可能出现的合并冲突 (Merge Conflicts)
-
如果没有冲突:Git 会自动完成合并,您会看到一个成功提示。这时就可以直接进行第三步了。
-
如果出现冲突:这意味着您修改的地方和远程更新修改的地方是同一行代码,Git 不知道该保留哪个。
-
PyCharm 会弹出一个 "Conflicts" 窗口,列出所有冲突的文件。
-
双击冲突文件,PyCharm 会打开一个非常好用的三栏式合并工具:左边是您的更改,右边是远程仓库的更改,中间是最终的合并结果。
-
您需要手动编辑中间栏的代码,决定最终要保留哪些内容。您可以使用两侧栏上方的小箭头 >> 或 << 来接受某一方的更改。
-
解决完一个文件的所有冲突后,点击 "Apply" (应用)。
-
所有冲突文件都解决后,PyCharm 会自动创建一个合并提交。
-
第三步:再次推送 (Push)
现在,您的本地仓库不仅包含了您自己的最新提交,也包含了从 GitHub 上拉取下来的所有更新,历史记录已经同步。
-
打开 "Push" 窗口:
-
通过菜单栏 VCS > Git > Push...。
-
或者使用快捷键 Ctrl + Shift + K (Windows/Linux) 或 Cmd + Shift + K (macOS)。
-
-
执行推送:
-
点击 "Push" 按钮。
-
这一次,因为您的本地分支已经包含了远程分支的所有历史,推送应该会顺利成功!
总结成一句话就是:养成一个好习惯,在每次推送 (Push) 代码之前,都先拉取 (Pull) 一下。
更多推荐
所有评论(0)