Git切换并还原

如果您使用Git已有一段时间,则可能已经习惯了无所不在的git checkout命令,该命令在工作中有些过载。 您可以使用checkout切换分支,创建分支,将工作树更新为以前的提交,清除工作树的更改以及其他一些内容。 简而言之,此命令的职责过多,应进行重构。

这就是Git 2.23.0发生的事情:现在,我们可以使用另外两个更专业的命令git switchgit restore

git switch用于托管分支,即创建分支或切换到分支。 它与git branch互补,后者列出,删除和(也)创建分支。

您使用git switch如下:

 # switches to master branch  git switch master  # switches to branch feature- 123  git switch feature- 123  # switches to last branch, here master  git switch -  # creates a new branch feature- 234  git switch -c feature- 234 

git restore用于还原工作树文件,与使用git checkout检出或还原特定工作树状态的方式相同。 以下是git restore一些示例:

 echo "modified" >> file.txt  # restores all files in the current directory  git restore .  # working tree clean  echo "modified" >> file.txt  git add file.txt  git restore .  # no changes  # restores staged changes from the index  git restore --staged .  # working tree modified  git restore .  # working tree clean  # checks out a single file from a previous commit  git restore -s a0b1c2d file.txt 

有关更多信息,请查看switchrestore的文档,或者通过执行git help <command>

该帖子已从我的新闻通讯041中重新发布

翻译自: https://www.javacodegeeks.com/2020/04/git-switch-and-restore.html

### 回答1: 使用命令 "git stash apply" 或 "git stash pop" 可以还原 stash 的备份。 别在于,"apply" 会将 stash 的内容应用到当前分支上,而 "pop" 会将 stash 的内容应用到当前分支上并将 stash 删除。 ### 回答2: git stash是Git版本控制系统中的一个功能,用于将当前工作目录中尚未提交的修改暂时存储起来,以便在稍后需要时再进行还原。 当我们需要切换到其他分支或者处理一些紧急任务时,而当前工作目录中还存在一些未提交的修改时,使用git stash可以将这些修改暂时存储起来。 要还原备份,我们可以按照以下步骤进行操作: 1. 首先,使用git stash list命令查看当前存在的备份列表,以确认我们需要还原的备份是哪个。 2. 使用git stash apply命令加上备份的索引号还原备份。例如,如果我们要还原第一个备份,可以使用命令git stash apply stash@{0}。 3. 执行该命令后,Git会将备份中的修改还原到当前工作目录,并且这个备份并不会从备份列表中删除。 如果我们不需要保留备份(即恢复备份后不再需要),可以使用git stash drop命令删除备份。例如,要删除第一个备份,可以使用命令git stash drop stash@{0}。 另外,如果我们希望一次性将所有的备份都还原,可以使用git stash pop命令。这个命令会还原最新的备份,并将它从备份列表中删除。 总的来说,git stash提供了一种方便的方法来临时保存和还原修改,使我们能够在切换分支或者处理其他任务时保持工作的整洁,提高工作效率。 ### 回答3: Git stash命令是用于临时保存当前工作目录的修改,以便切换到其他分支或恢复到之前的状态。当我们在一个分支上进行一些修改,但是还没有提交时,需要切换到其他分支处理紧急任务,这时可以使用git stash将当前的修改保存起来。 当我们需要恢复之前保存的备份时,可以使用以下命令: 1. `git stash list`:查看当前保存的备份列表。列表中会显示每个备份保存时的标识符和描述信息。 2. `git stash apply [stash_id]`:恢复指定标识符的备份,并将修改应用到当前工作目录。如果没有指定stash_id,默认会恢复最新的备份。 3. `git stash pop [stash_id]`:和`apply`命令类似,但是在恢复备份后会将该备份从备份列表中移除。 4. `git stash branch [branch_name] [stash_id]`:从指定的备份创建新的分支,并将备份应用到新分支。这个命令适用于在保存备份时没有指定分支的情况。 要注意的是,恢复备份后,之前保存的修改会被应用到当前分支或新分支,因此可能会出现冲突。需要解决冲突后才能正常提交代码。 总而言之,git stash命令可以帮助我们临时保存修改,并在需要时恢复到之前的状态,非常方便快捷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值