为什么我不能简单地将 1 个文件推送到我的仓库而不必执行 git pull?

佐根

我有我的远程服务器、Bitbucket 存储库和我的本地存储库。当我想更改某个文件时,我会在我的本地存储库中更改它,然后是git add <file_name>/ git commit -m "file changed",然后git push是我的 Bitbucket 存储库。然后我收到以下错误:

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

然后我做git push --set-upstream origin master并得到这些错误:

To https://bitbucket.org/user/name.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 
'https://[email protected]/user/name.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我不想这样做,git pull因为我的本地存储库与 Bitbucket 存储库不同,Bitbucket 存储库用于生产,本地存储库用于开发,它们是否不同。我想要做的只是通过在本地更改它们并简单地执行git add <updated_file>/来更新我的 Bitbucket 存储库中的单个文件git commit有什么办法可以做到这一点吗?

玛丽娜刘

简而言之,没有git pull.

由于 git 将计算您尝试推送的远程分支中的所有 sha-1 值是否存在于本地存储库中,然后决定是否可以推送或拒绝它。如您所见,如果您在没有 的情况下推送到远程git pull,git 将拒绝推送。

您可以遵循两个选项:

选项 1:隐藏您更改的文件并将更改的文件应用到最新版本的顶部

您可以使用以下命令来实现:

git reset head~
git stash -- filename
git fetch
git reset --hard origin/master
git statsh apply
git push -u origin master

然后只有filename推送到远程master分支。

选项2:强制推送

您可以强制将本地分支推送到master远程master分支git push -f origin master或推送到新分支。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

“Git stash”将临时修复推送到我的仓库

将git子模块更改推送到我自己的仓库中

上班之前忘了git pull,现在我不能git push

我不能做一个 git pull

为什么“ Git pull”不能从远程仓库中拉出所有分支

为什么`git pull`可以很好地工作,而`git push`不能呢?

为什么我不能将本地Git存储库推送到我的遥控器上?

git pull不会自动合并我的更改

Git Pull让我写合并消息

git pull是怎么吃我的作业的?

我是否必须多次 git pull ?

git pull --rebase丢失了我的提交

进行git pull后找不到我的提交

将 Git pull 命令输出写入文件

为什么在Visual Studio Code中执行git pull后,我仍未提交更改?

为什么在git pull之后我得到未跟踪的文件(文件已在远程上移动)

为什么 git pull 失败?

为什么在执行 git pull 后需要修补(或应用)差异

为什么git pull不更新我的一些本地文件

无法将提交推送到我的git存储库

我是否正确理解git push和git pull?

为什么git pull不还原已删除的文件?

我什么时候应该使用git pull --rebase?

为什么“git pull origin feature-12345 master”是更新我的 pull request 分支的唯一方法?

为什么我的 git 不会推送到我的 github 帐户?

当我可以在“git init”之后对“git pull”做同样的事情时,为什么要“git clone”?

为什么git bash不允许我推送到远程仓库?

如何从github git pull并推送到heroku?

为什么我不能简单地添加文字?