100 lines
No EOL
5.8 KiB
JSON
100 lines
No EOL
5.8 KiB
JSON
{
|
|
"uuid": [
|
|
{
|
|
"value": "66627f58-d38c-4599-ac1b-50720dae3c71"
|
|
}
|
|
],
|
|
"langcode": [
|
|
{
|
|
"value": "en"
|
|
}
|
|
],
|
|
"type": [
|
|
{
|
|
"target_id": "daily_email",
|
|
"target_type": "node_type",
|
|
"target_uuid": "8bde1f2f-eef9-4f2d-ae9c-96921f8193d7"
|
|
}
|
|
],
|
|
"revision_timestamp": [
|
|
{
|
|
"value": "2025-04-21T01:21:23+00:00"
|
|
}
|
|
],
|
|
"revision_uid": [
|
|
{
|
|
"target_type": "user",
|
|
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
|
|
}
|
|
],
|
|
"revision_log": [],
|
|
"status": [
|
|
{
|
|
"value": true
|
|
}
|
|
],
|
|
"uid": [
|
|
{
|
|
"target_type": "user",
|
|
"target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849"
|
|
}
|
|
],
|
|
"title": [
|
|
{
|
|
"value": "Local merging and squashing"
|
|
}
|
|
],
|
|
"created": [
|
|
{
|
|
"value": "2024-12-12T00:00:00+00:00"
|
|
}
|
|
],
|
|
"changed": [
|
|
{
|
|
"value": "2025-04-21T01:21:23+00:00"
|
|
}
|
|
],
|
|
"promote": [
|
|
{
|
|
"value": false
|
|
}
|
|
],
|
|
"sticky": [
|
|
{
|
|
"value": false
|
|
}
|
|
],
|
|
"default_langcode": [
|
|
{
|
|
"value": true
|
|
}
|
|
],
|
|
"revision_translation_affected": [
|
|
{
|
|
"value": true
|
|
}
|
|
],
|
|
"path": [
|
|
{
|
|
"alias": "\/daily\/2024\/12\/12\/local-squashing",
|
|
"langcode": null
|
|
}
|
|
],
|
|
"body": [
|
|
{
|
|
"value": "\n <p>Because <a href=\"https:\/\/www.oliverdavies.uk\/daily\/2022\/09\/20\/why-like-trunk-based-development\">I do trunk-based development<\/a>, I typically don't create branches in Git.<\/p>\n\n<p>If I do, I usually want to keep the commit messages, but there are some situations where I want to squash everything into a single commit with a simple message.<\/p>\n\n<p>Typically, I'd do this using a rebase command like <code>git rebase -i main<\/code> and get an output like this, showing the commits:<\/p>\n\n<pre><code class=\"plain\">pick d21fafc Remove encrypted disk configuration\npick ffc1296 Update mount location for media directories\npick 58f645e Add multigrep from TJ's video\npick bbd5052 Revert \"Remove encrypted disk configuration\"\npick 8280c49 Show more generations on boot\npick d3b0c48 Revert \"Add encrypted media drive\"\npick 8cdc6a5 Add paperless-ngx\npick 73d801d Add Nick Janetakis' `notes` script\npick 99b6e3b Set options for text files\n<\/code><\/pre>\n\n<p>I can change <code>pick<\/code> to <code>squash<\/code> or <code>fixup<\/code> and decide what to do for each commit.<\/p>\n\n<p><code>squash<\/code> combines the commit with the previous one, including the commit messages.<\/p>\n\n<p><code>fixup<\/code> uses the previous commit message and discards the current one.<\/p>\n\n<p>Once the file is saved, the rebase is performed and the actions are executed.<\/p>\n\n<h2 id=\"there-is-another-way\">There is another way<\/h2>\n\n<p>If you don't want any of the commit messages, you can also use <code>git merge --squash<\/code>.<\/p>\n\n<p>This will automatically squash all the commits - ready for you to run <code>git commit<\/code> and provide the final message.<\/p>\n\n<p>There's no option to merge or combine the previous messages, though.<\/p>\n\n<p>If you want to do that, you can still use the rebase approach.<\/p>\n\n<p>If not, use <code>git merge --squash<\/code>.<\/p>\n\n ",
|
|
"format": "full_html",
|
|
"processed": "\n <p>Because <a href=\"https:\/\/www.oliverdavies.uk\/daily\/2022\/09\/20\/why-like-trunk-based-development\">I do trunk-based development<\/a>, I typically don't create branches in Git.<\/p>\n\n<p>If I do, I usually want to keep the commit messages, but there are some situations where I want to squash everything into a single commit with a simple message.<\/p>\n\n<p>Typically, I'd do this using a rebase command like <code>git rebase -i main<\/code> and get an output like this, showing the commits:<\/p>\n\n<pre><code class=\"plain\">pick d21fafc Remove encrypted disk configuration\npick ffc1296 Update mount location for media directories\npick 58f645e Add multigrep from TJ's video\npick bbd5052 Revert \"Remove encrypted disk configuration\"\npick 8280c49 Show more generations on boot\npick d3b0c48 Revert \"Add encrypted media drive\"\npick 8cdc6a5 Add paperless-ngx\npick 73d801d Add Nick Janetakis' `notes` script\npick 99b6e3b Set options for text files\n<\/code><\/pre>\n\n<p>I can change <code>pick<\/code> to <code>squash<\/code> or <code>fixup<\/code> and decide what to do for each commit.<\/p>\n\n<p><code>squash<\/code> combines the commit with the previous one, including the commit messages.<\/p>\n\n<p><code>fixup<\/code> uses the previous commit message and discards the current one.<\/p>\n\n<p>Once the file is saved, the rebase is performed and the actions are executed.<\/p>\n\n<h2 id=\"there-is-another-way\">There is another way<\/h2>\n\n<p>If you don't want any of the commit messages, you can also use <code>git merge --squash<\/code>.<\/p>\n\n<p>This will automatically squash all the commits - ready for you to run <code>git commit<\/code> and provide the final message.<\/p>\n\n<p>There's no option to merge or combine the previous messages, though.<\/p>\n\n<p>If you want to do that, you can still use the rebase approach.<\/p>\n\n<p>If not, use <code>git merge --squash<\/code>.<\/p>\n\n ",
|
|
"summary": null
|
|
}
|
|
],
|
|
"feeds_item": [
|
|
{
|
|
"imported": "2025-04-21T01:21:23+00:00",
|
|
"guid": null,
|
|
"hash": "67caaeda05aacc7008f9a07114af9b7f",
|
|
"target_type": "feeds_feed",
|
|
"target_uuid": "90c85284-7ca8-4074-9178-97ff8384fe76"
|
|
}
|
|
]
|
|
} |