interview
frontend-classic
git stash 命令有什么作用什么时候适合用它

前端经典面试题合集, git stash 命令有什么作用?什么时候适合用它?

前端经典面试题合集, git stash 命令有什么作用?什么时候适合用它?

QA

Step 1

Q:: git stash 命令有什么作用?

A:: git stash 命令用于临时保存当前工作目录的修改。它将未提交的改动(包括已暂存和未暂存的改动)保存到一个堆栈中,并恢复工作目录到最近一次提交的干净状态。这对于在不想提交当前改动的情况下切换到其他分支或执行其他任务非常有用。

Step 2

Q:: 什么时候适合用 git stash?

A:: 当你正在一个分支上工作,进行了某些改动,但突然需要切换到另一个分支去处理一个紧急任务时,git stash 就非常适用。它可以帮助你保存当前的改动,以便稍后可以继续工作,而不会干扰到其他分支的工作。

Step 3

Q:: 如何恢复被 git stash 保存的改动?

A:: 使用 git stash pop 或 git stash apply 可以恢复被 git stash 保存的改动。git stash pop 会恢复改动并从堆栈中移除,git stash apply 只会恢复改动但不移除。

Step 4

Q:: git stash list 命令有什么作用?

A:: git stash list 命令用于查看所有被保存的改动。它会列出所有保存到堆栈中的改动记录,方便你选择要恢复的改动。

Step 5

Q:: 如何删除一个特定的 stash?

A:: 使用 git stash drop stash@{index} 可以删除一个特定的 stash。index 是 stash 在列表中的位置编号。

用途

在实际生产环境中,开发者经常会遇到需要在多个任务之间切换的情况,而不希望当前的未完成工作干扰到其他任务。git stash 提供了一种临时保存当前工作状态的方式,使得开发者可以自由切换任务而不丢失工作进度。这对于提高工作效率和保持代码库的干净非常重要。\n

相关问题

🦆
git reset 和 git revert 有什么区别?

git reset 是用来将当前分支的 HEAD 指针移动到另一个位置,并可以选择性地保留或丢弃工作目录中的改动。git revert 则是用来撤销某次特定的提交,但会生成一个新的提交记录。因此,git reset 是一种历史回退操作,而 git revert 是一种历史更改操作。

🦆
git cherry-pick 命令有什么作用?

git cherry-pick 命令用于将某个分支上的特定提交(commit)应用到当前分支。这对于从其他分支选择性地合并特定功能或修复非常有用。

🦆
如何解决 git merge 冲突?

当 git merge 产生冲突时,需要手动编辑冲突文件,解决冲突部分,然后使用 git add 命令将已解决的文件标记为已解决,最后使用 git commit 完成合并。

🦆
git rebase 和 git merge 有什么区别?

git rebase 是将一个分支上的改动移到另一个基础提交之上,通常用于保持历史记录的线性和整洁。git merge 则是将两个分支的历史合并到一起,会保留合并前的历史记录。

🦆
如何撤销未提交的改动?

使用 git checkout -- <file> 可以撤销工作目录中的未提交改动,将文件恢复到最近一次提交的状态。如果需要撤销所有未提交的改动,可以使用 git reset --hard HEAD。