Here is the process to merge master into dev-1.15. Please read the entire document before starting any work.
$ git clone https://github.com/jimangel/website.git website-docs
$ cd website-docs
$ git remote add upstream https://github.com/kubernetes/website.git
$ # validate
$ git remote -v
$ git fetch upstream
$ git checkout master
$ git reset --hard upstream/master
$ git push origin master --force
$ git checkout upstream/dev-1.15
$ # merge master into it
$ git merge upstream/master
https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
$ git status
Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)
both modified: content/en/docs/concepts/services-networking/service.md
both modified: content/en/docs/concepts/storage/volumes.md
both modified: content/en/docs/concepts/workloads/controllers/daemonset.md
both modified: content/en/docs/reference/command-line-tools-reference/feature-gates.md
deleted by them: content/en/docs/reference/command-line-tools-reference/federation-apiserver.md
both modified: content/en/docs/reference/command-line-tools-reference/kube-apiserver.md
both modified: content/en/docs/reference/command-line-tools-reference/kube-controller-manager.md
both modified: content/en/docs/reference/command-line-tools-reference/kube-proxy.md
both modified: content/en/docs/reference/command-line-tools-reference/kube-scheduler.md
both modified: content/en/docs/reference/command-line-tools-reference/kubelet.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_certs_renew_all.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_certs_renew_apiserver-etcd-client.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_certs_renew_apiserver-kubelet-client.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_certs_renew_apiserver.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_certs_renew_etcd-healthcheck-client.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_certs_renew_etcd-peer.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_certs_renew_etcd-server.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_certs_renew_front-proxy-client.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_kubelet_config_download.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_kubelet_config_enable-dynamic.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_alpha_selfhosting_pivot.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_list.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_images_pull.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_migrate.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_print.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_print_init-defaults.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_print_join-defaults.md
deleted by us: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload.md
deleted by us: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-file.md
deleted by us: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_upload_from-flags.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_config_view.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_addon_all.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_addon_coredns.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_addon_kube-proxy.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_bootstrap-token.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_all.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-etcd-client.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver-kubelet-client.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_apiserver.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_ca.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-ca.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-healthcheck-client.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-peer.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_etcd-server.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_front-proxy-ca.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_front-proxy-client.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_certs_sa.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_all.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_apiserver.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_controller-manager.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_control-plane_scheduler.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_etcd_local.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_kubeconfig_admin.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_kubeconfig_all.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_kubeconfig_controller-manager.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_kubeconfig_kubelet.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_kubeconfig_scheduler.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_kubelet-start.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_mark-control-plane.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_preflight.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_upload-certs.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_upload-config_all.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_upload-config_kubeadm.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_init_phase_upload-config_kubelet.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join_all.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join_etcd.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join_mark-control-plane.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-join_update-status.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_all.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_certs.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_control-plane.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_download-certs.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_control-plane-prepare_kubeconfig.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_kubelet-start.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_join_phase_preflight.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_reset.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_create.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_delete.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_generate.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_token_list.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_apply.md
deleted by us: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_config.md
deleted by us: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_node_experimental-control-plane.md
both modified: content/en/docs/reference/setup-tools/kubeadm/generated/kubeadm_upgrade_plan.md
both modified: content/en/docs/reference/setup-tools/kubeadm/kubeadm-init.md
both modified: content/en/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md
both modified: content/en/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md
both modified: content/en/docs/setup/production-environment/tools/kubeadm/high-availability.md
both modified: content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md
both modified: content/en/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md
both modified: content/en/docs/setup/release/version-skew-policy.md
both modified: content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md
deleted by us: content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-12.md
deleted by us: content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-ha-1-12.md
Each file, you will need to review it and, either:
- Choose the
master
edit ordev-1.15
edit- Occasionally this requires looking deeper into the file and keeping partial changes.
- More info: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
- Delete the file if needed
$ git rm <file-name>
$ git add <recent-file-name>
I will address the top conflict: content/en/docs/concepts/services-networking/service.md
#(CONTINUED FROM ABOVE)
# working out of the recently merged upstream branch
# open up the offending file:
$ vi content/en/docs/concepts/services-networking/service.md
# search for "<<<<<<<"
$ /<<<<<<<
- Top green (
<<<<<< HEAD
and=======
) is thedev-1.15
branch - Bottom red (
=======
and>>>>>> upstream/master
) is themaster
branch - The green arrow at the bottom indicates there are no other merge conflicts in this document.
- Be sure to always check for more conflicts!
- NOTE: Sometimes you will have to combine the two.
- If unsure, ask #sig-docs
In this case, I will remove the upstream/master block and leave only the 1.15 addition.
# save the file
$ :wq!
# Add the file to the commit
$ git add content/en/docs/concepts/services-networking/service.md
# After adding the file, it is no longer a conflict:
$ git diff --check | grep "content/en/docs/concepts/services-networking/service.md"
# To validate this command works, let's check the next file in the above image (if it exists)
$ git diff --check | grep "content/en/docs/concepts/storage/volumes.md"
content/en/docs/concepts/storage/volumes.md:1316: leftover conflict marker
content/en/docs/concepts/storage/volumes.md:1354: leftover conflict marker
content/en/docs/concepts/storage/volumes.md:1355: leftover conflict marker
# There's 3 conflicts in that file.
That's as far as I can go for now, without fixing all of the commits... Once every single conflict is resolved via git add <file-name>
proceed to the next step.
$ git commit -m "Resolved merge conflicts"
# You can query git for unresolved conflicts:
$ git diff --check
# You can also usually add "--dry-run" to most commands
# ex: $ git commit -m "Resolved merge conflicts" --dry-run
$ git push origin upstream/dev-1.15
# optional: git push origin upstream/dev-1.15 --dry-run
I can't recall after this step, I believe you would push this commit to your local fork (as upstream/dev-1.15) and then PR your upstream/dev-1.15 to theirs. Your "mega branch" kubernetes/website#14176 would then pick up this change (resolving the conflicts).
Please provide feedback at this step. One thing to look out for, is, we might need to create a local branch for you to resolve the conflicts and then PR.
❤️