Repository navigation
Merge 27 dead short posts into stronger pages, with 301s (batch 2) - #2096
Merged
Merged
Conversation
Each post's useful part now lives in an existing page on the same topic,
with a 301 from the old URL:
- change-commit-author-single -> change-author-multiple-commits-git, a
section for the last commit: --author keeps the author date,
--reset-author does not; rebase --exec without -i; includeIf
- how-to-make-git-forget-tracked-file-in-gitignore ->
remove-file-from-git-keep-local, git ls-files -ci --exclude-standard,
check-ignore needs --no-index for tracked files, and what the
rm -r --cached . recipe also stages
- how-to-stash-changes-in-git -> stash-single-file-git, stash and pop
everything, pop --index, --staged and stash branch
- how-to-modify-existing-unpushed-commit-messages and
modify-specific-commit-git -> Git guide part 8, which commits are not
pushed yet (@{u}..) and rebase -i @{u}
- how-to-discard-unstaged-changes-in-git and
how-to-remove-local-untracked-files-git -> Git guide part 3, restore :/
plus git clean -n, -d, -x and -X
Every command was run with Git 2.39. Links to the old posts now point at
the new sections.
- bash-redirect-append-stdout-stderr -> redirect-all-output-to-file-bash,
appending each stream to its own file, and why &>> fails in sh (dash):
it backgrounds the command and leaves the log empty. The post's own
crontab example used &>>, now >> file 2>&1
- format-date-yyyy-mm-dd-in-shell-script ->
get-current-date-time-and-custom-commands, %F, date -I, printf '%(%F)T'
and GNU date arithmetic, including 31 January + 1 month = 3 March
- set-variable-command-output-bash -> Bash guide part 9, local hides the
exit status, and mapfile from a here-string gives one empty element
- concatenate-string-variables-bash, split-string-delimiter-bash and
extract-filename-extension-bash -> Bash guide part 4: ${name}_x, +=
with declare -i, names without an extension, trailing empty fields and
multi-character delimiters
- kill-process-running-on-port-linux and
command-line-for-looking-at-specific-port -> how-to-free-up-tcp-port:
ss filters instead of grep, sudo for other users' sockets, and why
lsof -ti :8080 | xargs kill -9 also kills connected clients
- kill-processes-by-partial-name -> Linux guide part 7, the 15-character
name limit and pkill -f matching the shell that runs it
- finding-local-ip-addresses-using-pythons-stdlib -> how-to-get-local-ip-address,
a standard library interface list, what gethostbyname really returns,
and ipaddress flags for 100.64.0.0/10
Commands ran with bash 5.2, coreutils 9.1, procps-ng 4.0.2, psmisc 23.6
and Python 3.11 on a Raspberry Pi; the interface listing ran on a GitHub
Actions runner (post-command-checks, consolidation-batch-2).
…he variables post - how-to-decode-a-kubernetes-secret -> Kubernetes guide part 6, every key at once with a Go template or jq, and the newline that echo puts into a Secret value - terraform-concatenate-lists-concat-function -> terraform-variables-loops-and-outputs: distinct, setunion, concat(x...) vs flatten, and concat() on a null variable (nullable = false) - how-to-create-an-ssh-key-in-terraform and terraform-add-ssh-key-gcp-instance -> Terraform guide part 10, under Keep Secrets Out of State: pass only the public key (aws_key_pair, GCE ssh-keys metadata), tls_private_key leaves the private key in state three times, an ephemeral key cannot feed a normal argument, and the project metadata and OS Login traps Secret outputs come from kind v0.33.0 with Kubernetes 1.37.0, the Terraform plans from Terraform 1.15.8 with AWS provider 6.72.0 and Google provider 7.46.2 on a GitHub Actions runner (placeholder credentials, nothing created). The tls_private_key and terraform console checks ran on a Raspberry Pi.
- docker-see-image-contents -> exploring-docker-container-file-system, images without a shell: docker create plus export or cp, and --entrypoint for one command - delete-all-local-docker-images -> remove-old-unused-docker-images, the order that works (remove containers, then prune -a), and the three ways docker rmi $(docker images -q) fails - enter-docker-container-new-tty and how-to-attach-detach-docker-process -> how-do-i-run-a-command-on-an-already-existing-docker-container, exec vs attach: detach keys need -it, and without -it Ctrl+C or a SIGTERM to the client stops the container; with --sig-proxy=false the client ignored both signals on Engine 28.0.4 - copy-docker-images-between-hosts-withouta-repository -> Docker guide part 3, save | gzip | ssh docker load, the repository digest that a load drops, and why export/import does not copy an image - expose-multiple-ports-docker -> forward-host-port-to-docker-container, range lengths, a host range for one container port, several ports in one EXPOSE line and -P The outputs were recorded on GitHub Actions runners (Docker Engine 28.0.4) with the consolidation-batch-2 scripts in post-command-checks, logs included. The cover images and the PNG and SVG cover redirects of the removed posts are gone too.
Deploying devops-daily with
|
| Latest commit: |
8229282
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://9fc616bb.devops-daily.pages.dev |
| Branch Preview URL: | https://content-consolidate-low-traf.devops-daily.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Batch 2 of the dead-post consolidation: 27 short 2024-2025 posts, each with 0 Google impressions in 90 days and 0 Bing clicks in 2026 (3,738 Bing impressions combined). The useful part of each post moved into an existing page on the same topic, and the old URL gets a 301. No new pages.
The last two are the SSH key pair that batch 1 left out. They now share one section, "SSH Keys for Servers", under "Keep Secrets Out of State".
Method (same as batch 1)
updatedAtonly on pages that got content.Fixes found on the way
redirect-all-output-to-file-bashhad a crontab example with&>>. Cron runs/bin/sh(dash on Debian and Ubuntu), where&>>backgrounds the job and leaves the log empty. It now uses>> file 2>&1.how-to-free-up-tcp-portrecommendedlsof -ti :8080 | xargs kill -9. That also kills clients connected to the port, so it now uses-sTCP:LISTEN.Checks
_redirects: 1,620 static and 9 dynamic rules, down from 1,643 static (27 post redirects in, 50 cover redirects out). No static rule after a dynamic one, no chains, every target exists.redirects-orderplus 17 content test files pass (6,032 tests). Every interactive fence in the 44 changed files renders as a widget, and all 363 internal heading anchors in content resolve, apart from 7 older in-page anchors in three posts this PR does not touch. The internal link checker finds no broken/posts/or/guides/links.consolidation-batch-2branch of post-command-checks.