相关疑难解决方法(0)

更新被拒绝,因为您当前分支的提示落后

我是Git的新手,所以随意像对待新手一样对待我.

我们的工作流程如此.我们有一个分支dev,我可以到达origin/dev.当我们进行更改时,我们会在dev中创建一个分支:

git checkout -b FixForBug origin/dev

现在我有一个叫做FixForBug跟踪的分支(我认为这是正确的词)origin/dev.因此,如果我这样做,git pull它将带来新的变化,origin/dev这是伟大的.现在,当我完成修复后,我将推送到一个名为同一个东西的远程分支.

首先,我从中origin/dev删除任何更改并执行rebase:

git pull --rebase

然后我将更改推送到同名的远程分支:

git push origin FixForBug

现在,远程服务器上有一个分支,我可以创建一个拉取请求,以便批准该变更并将其合并回dev分支.我永远不会对origin/dev自己施加任何东西.我猜这是非常常见的工作流程.

我第一次做git push,它工作正常,并创建远程分支.但是,如果我再次推送(假设在代码审查期间有人指出问题),我会收到以下错误:

错误:未能将某些引用推送到" https://github.limeade.info/Limeade/product.git "提示:更新被拒绝,因为当前分支的提示落后于提示:它的远程对应物.在再次推送之前集成远程更改(例如提示:'git pull ...').提示:有关详细信息,请参阅'git push --help'中的'关于快进的说明'.

但是,如果我这样做,git status它说我提前origin/dev1次提交(这是有意义的),如果我按照提示运行git pull,它说一切都是最新的.我想这是因为我正在推动一个与上游分支不同的分支.我可以通过运行来解决此问题:

git push -f origin FixForBug

在这种情况下,它会将更改推送到远程分支,说(强制更新),并且远程分支上的一切似乎都很好.

我的问题:

为什么-f在这种情况下需要?通常当你强迫某事时,这是因为你做错了事,或者至少违背了标准做法.我可以这样做,还是会弄乱远程分支中的某些东西,或者为最终将我的东西合并到dev中的人造成麻烦?

git

72
推荐指数
12
解决办法
16万
查看次数

Git - “origin”似乎不是 git 存储库

我正在从事一个名为“ wonaco ”的项目。在此文件夹中,我从本地拉取了 master 分支并创建了一个新的 dev 分支并签出到该 dev 分支。

现在,我运行这个命令:

git add .
git commit -m "First Commit"
git push origin dev
Run Code Online (Sandbox Code Playgroud)

但我收到通知:

致命:“origin”似乎不是 git 存储库 致命:无法从远程存储库读取。

请确保您拥有正确的访问权限并且存储库存在。

我需要将我的代码推送到开发分支。

git

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

git ×2