<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>CoderZJ</title>
        <link>https://paragraph.com/@coderzj</link>
        <description>undefined</description>
        <lastBuildDate>Thu, 21 May 2026 00:56:03 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>CoderZJ</title>
            <url>https://storage.googleapis.com/papyrus_images/407ae1d7bddfa4a20e24514577b31e8df47573a03e46ac6d646e82b0e28d97b8.jpg</url>
            <link>https://paragraph.com/@coderzj</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Git高级命令]]></title>
            <link>https://paragraph.com/@coderzj/git</link>
            <guid>KWsD0I4wjK0fjQqfbfEw</guid>
            <pubDate>Wed, 17 Nov 2021 02:50:05 GMT</pubDate>
            <description><![CDATA[① git rebase :在新位置重新提交,改变 commit 序列的基础点。 把 merge 换成 rebase，操作步骤：第一步： git checkout branch1 git rebase master 第二步： git checkout master git merge branch1解释一下：第一步切换到branch分支上，执行rebase，目的是将分支的起点移动到想要合并的分支的HEAD上，第二步是切换到主分支，并移到最新的提交（commit）。为避免和远端仓库发生冲突，一般不要从 master 向其他 branch 执行 rebase 操作。② git --amend 修复当前提交的错误 注意：并不是在原来那个commit 上修改，而是生成了一个新的提交。③ 场景：想修改完善之前的提交（commit）git rebase -i 目标commit : 发出想要修改的请求，会弹出git编辑界面，将想要修改的commit 对应的 pick修改为edit（应用这个 commit，然后停下来等待继续修正）,然后rebase 过程已经停在修改的 commit 的位置。 2...]]></description>
            <content:encoded><![CDATA[<p>① git rebase :在新位置重新提交,改变 commit 序列的基础点。 把 merge 换成 rebase，操作步骤：</p><blockquote><p>第一步： git checkout branch1 git rebase master 第二步： git checkout master git merge branch1</p></blockquote><p>解释一下：第一步切换到branch分支上，执行rebase，目的是将分支的起点移动到想要合并的分支的HEAD上，第二步是切换到主分支，并移到最新的提交（commit）。为避免和远端仓库发生冲突，一般不要从 master 向其他 branch 执行 rebase 操作。</p><hr><p>② git --amend 修复当前提交的错误 注意：并不是在原来那个commit 上修改，而是生成了一个新的提交。</p><hr><p>③ 场景：想修改完善之前的提交（commit）</p><ol><li><p>git rebase -i 目标commit : 发出想要修改的请求，会弹出git编辑界面，将想要修改的commit 对应的 pick修改为edit（应用这个 commit，然后停下来等待继续修正）,然后rebase 过程已经停在修改的 commit 的位置。 2.在该commit上进行修改，commit --amend 来把修正应用到当前最新的 commit； 3.操作完成之后用 git rebase --continue 来继续 rebase 过程。将修改的commit 后面的提交应用到该rebase上。</p></li></ol><hr><p>④ 抛弃原来的提交（回滚） git reset --hard HEAD^ git reset --hard 目标commit</p><blockquote><p>HEAD 表示 HEAD^ 往回数一个位置的 commit</p></blockquote><hr><p>⑤撤销过往的提交 两种方式：</p><ol><li><p>git rebase -i 在编辑界面中删除想撤销的 commits</p></li><li><p>git rebase --onto 在 rebase 命令中直接剔除想撤销的 commits</p></li></ol><blockquote><p>--onto 后面有三个参数：目标 commit、起点 commit（注意：rebase 的时候会把起点排除在外）、终点 commit。</p></blockquote><hr><p>⑥ reset --hard：重置位置的同时，清空工作目录的所有改动； --soft：重置位置的同时，保留工作目录和暂存区的内容，并把重置 HEAD 的位置所导致的新的文件差异放进暂存区。 --mixed（默认）：重置位置的同时，保留工作目录的内容，并清空暂存区。</p>]]></content:encoded>
            <author>coderzj@newsletter.paragraph.com (CoderZJ)</author>
        </item>
    </channel>
</rss>