当我在一个私人项目上寻找bug并将它们推送到远程源(我自己的私人vps)时,我向Master分支做了5次提交.
然后我看到提交4和5将在其他地方引起麻烦,我需要撤消它们,所以我再次检查提交3,从那一点做了一个新的分支"Dev",并做了一些提交正确解决问题.
然后我做了
git reset - hard HEAD~2在Master上把它拉回到我分支开发的那一点.
然后我做了git merge to fast forward Master回到Dev分支的末尾.
所以现在我有一个本地存储库,Dev和Master都指向同一个最新版本的项目,并带有最新的bug修复.
问题是,当我尝试将项目现在推送到原点时,它会失败并给出一条错误消息:
![拒绝]主 - >主(非快进)错误:未能将某些引用推送到'myserver ... myproject.git'
我做错了什么,我该如何解决?
谢谢
我们的团队最近迁移到git.
我们有生产Web应用程序服务器,对代码进行了一些小改动
我想,我们不能在服务器回购中提交那些.
当我们svn update合并更改文件或未合并时.现在
git stash; git pull; git stash pop
Run Code Online (Sandbox Code Playgroud)
为我做的伎俩
如何在git stash pop发生冲突时自动检测这些情况
使生产工作副本破碎?
我想发送邮件手动解决这些情况
在他们出现之前be advised, pull cancelled (conflicts)
我已经更改了我的git存储库中某些目录的大小写.然后我推了他们,注意到没有更新的情况.
然后我发现了这个问题: git mv并且只改变了目录的大小写
我按照建议使用:
git add -A
git commit --amend -m 'updated cases'
git push origin
Run Code Online (Sandbox Code Playgroud)
但git服务器返回成功而不是成功:
To git@github.com:kyogron/example.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:kyogron/example.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
我现在可以做些什么来更新案例而不会在我的git仓库中破坏更多?
问候,
博多
PS:为了避免将来出现这个问题,您可以使用:
git config core.ignorecase false
Run Code Online (Sandbox Code Playgroud) 我是github的新手.我一直在研究从github获取的代码.现在我完成了修改,我想将我的代码推送到github.我想创建一个我工作的原始代码的分支,并将我开发的代码推送到该分支.然而,当我在开发工作时,原始代码有一些变化.因此,当我尝试将新代码推送到fork时,我收到以下错误:
git push original master
To https://github.com/<username>/<projectName>.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/<username>/<projectName>.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
然后我用了
git pull
Run Code Online (Sandbox Code Playgroud)
输出如下:
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' …Run Code Online (Sandbox Code Playgroud) make changes
git commit 'made changes' -a
git push origin
make more changes
git ammend -a
git push origin
Run Code Online (Sandbox Code Playgroud)
我注意到当我做一个git commit --ammend -a然后尝试推送到远程仓库时,它需要我强制push(git push -f).
我的猜测是因为它试图推动相同的(?这是什么?)提交代码但注意到文件中的差异.
这是正确/正常吗?
我已经在我的仓库中编辑了一些文件并将其推送。
在完成其他一些工作之后,我注意到我在一行中发表了评论。
因此,我不想为其创建一个新的提交,而我想在上一个提交中更改它(而不是最后一个提交)。
我认为我可以使用提交ID,但是我不知道Git怎么会容忍此功能。
使用Git,我正在开发一个功能分支.我把分支推到了github,所以有人可以看一下.然后,它已经有一段时间了,所以我重新调整它.如何将我的重新分支推到旧分支上?我必须避免哪些陷阱?我认为这只是git push --force(或--mirror?),但我不确定.
一些相关链接:
git ×7
github ×4
push ×2
deployment ×1
filenames ×1
git-amend ×1
git-commit ×1
git-rebase ×1
hfs+ ×1
macos ×1
merge ×1
pull ×1