git暂存命令,一看就懂
起因是因为平时我的开发习惯是每次开发多个功能之后,分多次commit然后一起push和pull同步,然后在公司使用gitlab的时候,发现gitlab如果按照我上面那样的操作方式的话只会记录一次推送,也就是说你一天的工作量甚至两三天再gitlab上可能之后一次推送。
简单的说就是gitlab只认定你的git push次数,而不认定你git commit的次数,因此顺便使用了一下git stash的方法。
当你在使用 Git 进行版本控制时,可能会遇到需要暂存当前工作目录的情况,但又不想提交更改。这时,Git 提供了 stash
命令来帮助你保存和恢复这些临时更改。本篇博客将详细介绍 Git 的 stash
命令的使用方法。
什么是 Git Stash
stash
是 Git 提供的一个命令,用于暂时保存当前工作目录的更改,以便你可以切换到其他分支或者恢复到之前的状态,而不必提交未完成的更改。
使用 Git Stash
保存工作目录的更改
要保存当前工作目录的更改,使用以下命令:
git stash
git stash save "暂存的备注"
执行该命令后,Git 会将所有未提交的更改(包括已暂存和未暂存的更改)保存到一个新的存储栈中,并将工作目录重置为干净的状态。
查看保存的暂存区列表
你可以使用以下命令查看保存的暂存区列表:
git stash list
该命令会列出所有保存的暂存区,每个暂存区都有一个唯一的标识符。
恢复暂存区的更改
要恢复之前保存的暂存区的更改,可以使用以下命令:
git stash apply [<stash_id>]
[<stash_id>]表示暂存区的标识符,也就是用于唯一标识每个暂存区的字符串。Git 会为每个保存的暂存区自动分配一个标识符,你可以使用 git stash list 命令查看所有暂存区的标识符。
当你需要恢复某个暂存区时,可以使用 git stash apply 或 git stash pop 命令指定该暂存区的标识符,例如:
git stash apply stash@{1}
这里的 stash@{1} 就是暂存区的标识符,表示要恢复第二个保存的暂存区。
如果你不指定标识符,则默认应用最新的暂存区。例如,以下命令将应用最新的暂存区:
git stash apply
在使用 git stash drop 命令删除暂存区时,也需要指定标识符,例如:
git stash drop stash@{0}
这里的 stash@{0} 表示要删除第一个保存的暂存区。
?
如果没有指定 <stash_id>
,则默认应用最新的暂存区。执行此命令后,之前保存的更改将会被应用到当前工作目录中。
恢复暂存区的更改并删除(pop与apply同作用,多了删除功能)
如果你希望在应用暂存区的更改后将其从存储栈中删除,可以使用以下命令:
git stash pop [<stash_id>]
与 apply
命令类似,如果没有指定 <stash_id>
,则默认应用最新的暂存区。执行该命令后,之前保存的更改将被应用到当前工作目录,并从存储栈中删除。
删除暂存区
如果你想删除一个或多个保存的暂存区,可以使用以下命令:
git stash drop <stash_id>
这里的 <stash_id>
是要删除的暂存区的标识符。如果不指定 <stash_id>
,则默认删除最新的暂存区。
清空所有暂存区
如果你想一次性清空所有保存的暂存区,可以使用以下命令:
git stash clear
该命令将删除所有保存的暂存区,无法恢复。
结论
通过 stash
命令,你可以轻松地保存和恢复未提交的更改,而不必担心临时切换分支或回退代码会导致未完成的工作丢失。
希望本篇博客能够帮助你理解并正确使用 Git 的 stash
命令。如果你有任何疑问或需要进一步的帮助,请随时评论区留言!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!