我刚完成一次面试的代码挑战。这是我最初所做的:
现在我已经完成,他们将对其进行审查。我们的目标是在新的PR中显示我所有工作的全部差异。这是一个关于如何从他们那里进行建议的建议,但是我想确保我理解它以及如何做到这一点。
我不太确定要执行什么步骤。我是否在本地签出主人,然后强行推向主人?该命令是什么样的?
-然后强行将原版的干净副本推送到您的仓库中 他们在说哪个大师,我的分叉存储库或我从中分叉的原始大师?
我有点迷茫。我认为他们说的是强迫原始主控器(我从中派生的主控器)覆盖我的分叉主控器,然后从我的分叉代码提交分支到我的分叉存储库进行PR。
我正确地假设这是我需要做的吗?:
git checkout master (because I'm in my feature branch locally currently)
git reset --hard upstream/master
git push origin master --force (which I assume is the same as this: `git push --force origin`?)
现在单击我的分叉存储库上的拉取请求按钮,将左侧更改为我的分叉主控,将右侧更改为我的PR的功能分支
答案 0 :(得分:1)
如果您已经完成了功能分支中的所有工作(如您所愿),则无需强制执行任何操作,因为fork中的master分支与原始分支中的master分支是同一提交。回购(通过比较提交哈希来验证)。如果是这种情况,只需打开功能分支(在您的分支中)到主节点(在您的分支中)的拉取请求即可。
编辑:没关系,我读得不好。
您确实需要强制推动。
如果知道要推送的哈希,则可以在单个命令中完成。从github上公司回购的master分支中获取该哈希。然后:
git push -f origin <hash-goes-here>:master
在回购:
中,将origin
(原始主提交)左侧的哈希推到右侧的分支(您的主分支)。请在此处查看此命令的完整文档:https://git-scm.com/docs/git-push