繁体   English   中英

如何在不拉动的情况下推送 git 中的更改

[英]How to push changes in git without pull

我是 GIT 的新手。 昨天我对本地分支进行了一些更改,并将其推送到本地分支。 现在我想再次做出一些改变,我想再次推动它们,但我总是被要求拉动。 如果我不想拉怎么办? 我想在不拉动的情况下推送我的新本地更改。 我昨天做了一个 PULL,但它以某种方式合并了我的文件并且它们变得损坏,因为 git 添加了重复的代码片段来解决合并冲突。 有人可以帮我完成这个过程吗? 如何开始和处理这个?

您应该使用远程分支更新您的存储库,尤其是master 您可以简单地通过运行以下命令来完成

git checkout master // If you are not in the master
git pull origin master

现在切换到您的本地分支并使用master更新它。 但在此之前,请确保所有本地更改都已提交。

git checkout <branch_name>
git rebase master
git push origin <branch_name>:<branch_name>

在当前情况下,您必须强制将更改推送到远程。

git push origin <branch_name> --force
git push origin <branch_name> -f

注意:这两个命令都做同样的事情,只是第二个比第一个短。

总是先拉再推

这是一个基本规则。 在尝试将代码推送到存储库之前,您应该始终将所有当前更改从远程存储库拉到本地计算机。 这样做将确保您的本地副本与远程存储库同步。 请记住,其他人一直在推送到远程副本,如果您在同步之前推送,您可能会在推送时出现多个头或合并冲突。 默认情况下,Git 不允许您将更改推送到具有远程提交的分支。 您可以关闭此功能,但不建议这样做。

经常拉

在大型团队中,中央存储库将不断变化。 您应该努力使您的本地计算机尽可能靠近远程存储库。 这样做的方法是将远程服务器上的所有更改拉到本地副本。 你可以随心所欲地经常这样做,而且应该经常这样做——至少一天一次,如果不是更多的话。

这是因为您在 Github(大型专业程序员称之为“起源”)上的远程存储库在您首次创建它时不会自动跟踪您的本地 git 存储库。

每当您创建 GitHub 时,始终运行

git pull origin master

这从 Github 中获取代码(通常是README.MD或您制作的任何小文件,通常没有人在 Github 本身中编写源代码),方法是从 ZE1ADBCBB92C622D0B3E619F9D0730 中“获取”它们,然后将它们合并到您的本地存储库中(您的 ABF)联合)这两个存储库。

您可能会在网上看到git pull origin并问自己为什么在命令末尾需要“master”。 这是因为大多数拥有许多项目分支的开发人员需要指定他们从哪个分支中提取。 在您的情况下,只有您自己,所以您并不真正需要它,但无论如何都使用 master ,除非您有一些令人信服的理由不这样做。

如果您仍然感到困惑,请将此作为参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM