我最初尝试推送我的(第一次!)git repo:
$ git push helloworld
Run Code Online (Sandbox Code Playgroud)
但我得到了回报:
To git-smichaels@free5.projectlocker.com:helloworld.git
! [rejected] HEAD -> master (non-fast forward) error:
failed to push some refs to 'git-smichaels@free5.projectlocker.com:helloworld
git'
Run Code Online (Sandbox Code Playgroud)
所以我找到了另一个关于"修改提交"的StackOverflow问题,并从那里尝试了一个建议而不知道它是否会对我有所帮助:
KaiserSosa@SMICHAELS /c/test/helloworld (master)
$ git push helloworld +master:master
Run Code Online (Sandbox Code Playgroud)
有效!
但我不知道为什么它解决了我的问题:(
有人可以解释为什么这有效,但" git push helloworld
"不是吗?
我想将一个分支中的所有更改推送到另一个分支(现有分支)而不进行合并.
例如,考虑两个分支branch1到branch2.branch1和branch2分别跟踪origin/branch1和origin/branch2.
Branch1具有提交A,B,C,D,E,F Branch2具有提交A,B,D,F
我想让Branch2与branch1完全一样.采摘和合并樱桃会产生冲突,我不想花时间解决,因为我所要做的就是盲目地将branch1复制到branch2.
我能够做到这一点
git checkout branch1 # Moves to branch1
git push origin :branch2 # Deletes remote branch origin/branch2
git branch -d branch2 # Deletes the local copy of this branch
git pull
git push origin HEAD:branch2 # Creates new branch in remote repository from the HEAD at local branch branch1
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法通过合并命令中的一些--force选项来执行此操作.我不想每次都删除分支只是为了创建一个具有相同名称的新分支.
谢谢