我分叉了一个GitHub存储库.然后我把一些更改推到了我的前叉.然后原始存储库合并了我的更改和其他一些.现在,我想合并那些我不知道的变化.我尝试了一个简单的拉动,然后是推送,但是这会让我的提交重复一次.最好的方法是什么?
我有一个应该可供其他贡献者使用的分支,并且应该始终与主人保持同步.
不幸的是,每当我做'git rebase'然后尝试推动时,它会导致'非快速前进'信息和推动堕胎.推动这里的唯一方法是使用--force.这是否意味着如果我的分支公开并且其他人正在研究它,我应该使用'git merge'而不是rebased?
有人分叉了我的Github项目并进行了一些更改.如何将更改合并到我的上游版本中?
另外,是否可以仅提取特定提交?
我正在寻找的是,是否有办法提取特定的提交而不是整个分支.
在以下两个StackOverflow问题中,接受的答案描述了如何在分叉存储库的情况下合并来自分叉存储库的更改,修改原始存储库,然后您希望将对主分支所做的更改合并回你的分叉回购.
但是,我不清楚你如何跟上你分叉的原始仓库中的非主分支.例如,当我最初分叉bitprophet的结构存储库时,它包含以下分支:
最后两个分支不再存在,现在有一个新的分支flexible-task-declarations.我已经获取,合并并推送了我的主分支,因此master,origin/master和upstream/master都具有相同的SHA1哈希并指向相同的git快照.但是,我不知道如何删除不再存在的分支并更新新分支,以便我的fork是最新的.我是否需要跟踪每个上游分支,然后单独获取,合并和推送每个分支,还是有更好的方法?
是否可以将更改从中央存储库合并到本地分支,而无需在本地分支和结帐主服务器上提交/存储编辑?
如果我正在处理本地分支"工作"并且存在一些未经修改的更改,我将使用以下步骤从中央存储库获取更新到我的工作分支.
git stash
git checkout master
git pull
git checkout work
git rebase master
git stash pop
Run Code Online (Sandbox Code Playgroud)
通常,"工作"中没有未提交的更改,然后我省略了存储步骤.
我真正想要的是以下内容:
git pull master (updates master while work branch is checked out and has changes)
git rebase master (rebases the updates into work branch uncommited changes are still safe)
Run Code Online (Sandbox Code Playgroud)
有什么比我现在做的更容易吗?
例:
我克隆了Github存储库,创建了一个新的分支并开始处理一个功能.
我的同事克隆了同样精确的Github存储库,在他的本地机器上创建了自己的分支(git checkout -b mylocalbranch),并开发了自己的功能.
在我做之前,我的同事完成了他的功能,并将其推向生产并回到Github.
我在30分钟后完成了我的功能,并希望在不引起任何冲突的情况下推动我的工作.
什么是将我的工作推向生产并回到Github而不会引起任何冲突的最佳方法?