企业品牌网站建设,apache wordpress 404,平面设计师工作内容,龙岩整站优化首先你要知道 git 区分暂存区和工作区#xff0c;如果你用过 sourcetree 你就会知道 git reset 超级好用
git reset 命令用于将当前分支的 HEAD 指针移动到指定的提交#xff0c;并且可以选择性地修改工作区和暂存区的状态。git reset 命令有几种常用的用法#xff0c;主要…首先你要知道 git 区分暂存区和工作区如果你用过 sourcetree 你就会知道 git reset 超级好用
git reset 命令用于将当前分支的 HEAD 指针移动到指定的提交并且可以选择性地修改工作区和暂存区的状态。git reset 命令有几种常用的用法主要包括
git reset --soft commit-id 被 reset 的提交会放到暂存区暂存区原来的内容不会变化同时不影响工作区这个选项通常用于撤销之前的提交但保留更改以供稍后提交。 可以通过 git log 查看 idgit 基于指定的提交 id 来移动 head 指针并且撤销这个提交之后的所有更改。可以使用 head 替换提交 id 代表撤销最近一次提交git reset --mixed head~n: 清空暂存区被 reset 的提交会放到工作区并和当前工作区的改动进行合并有相同的改动以工作区的改动为准即不改动工作区的状态这意味着之前的提交所做的更改都会被放到工作区。【reset 不增加参数 默认使用mixed】 n 代表相对于你当前 head 指针的偏移量可以是任何数字1 代码最近一次提交2 代码最近 2 次提交以此类推但是 n 如果大于所有提交的数量就会报错不可以不写 n至少是 1不信你试试可以使用这个 reset 命令 撤销 git add 的操作也就是把暂存区的文件放回工作区git reset --hard head~n: reset 之后暂存区和工作区状态都会被清空会丢弃之前的提交的内容所以不要用很危险除非使用 git reflog 能找回来但是 git reflog 有保存期限时间久了 reflog 的内容也会清理所以就永远找不到了。
git revet 功能
git revert 命令用于撤销一个或多个提交所做的更改并创建一个新的提交来记录撤销的操作
git log: 使用 git log 查看提交历史确定需要撤销的提交的ID git revert commit-id指定要撤销的提交 ID会创建一个新提交并将所做的更改撤销掉 :git revert head: 撤销最近一次提交git revert commit-id1..commit-id2 撤销多个提交可以指定一个范围解决冲突如果有 在执行 git revert 命令时如果发生了冲突例如撤销的提交与当前分支上的其他更改冲突Git 会提示你解决冲突。解决完冲突后可以使用 git add 命令将解决后的文件标记为已解决然后执行 git revert --continue 完成撤销操作。提交撤销的更改 最后执行 git revert --continue 完成撤销操作并将撤销的更改作为一个新的提交提交到仓库中。如果你不想继续撤销操作可以执行 git revert --abort 命令来取消撤销操作。
使用 git revert 命令可以安全地撤销提交并且不会修改提交历史因此适合在公共分支上使用。
git reset 和 git revert 对比 git reset git reset 主要用于修改分支的 HEAD 指针可以将分支的 HEAD 指针移动到指定的提交并且可以选择性地修改暂存区和工作区的状态。git reset 常用于本地分支操作它会修改分支的提交历史因此在团队协作中应谨慎使用避免造成提交历史混乱。git reset 通常用于撤销已提交的更改或者将暂存区和工作区的状态回退到之前的状态。 git revert git revert 用于撤销一个或多个提交所做的更改并且会创建一个新的提交来记录撤销的操作。git revert 不修改分支的提交历史而是在原来的提交历史上创建一个新的撤销提交因此它更适合用于公共分支上的撤销操作不会影响其他开发者的提交历史。git revert 通常用于撤销已经发布到公共分支的提交或者撤销错误的提交并保留提交历史的完整性。
总的来说git reset 用于修改分支的提交历史和工作区状态而 git revert 用于创建一个新的撤销提交来记录撤销的操作不修改提交历史。选择使用哪个命令取决于具体的情况和需求。