赞
踩
起因是因为平时我的开发习惯是每次开发多个功能之后,分多次commit然后一起push和pull同步,然后在公司使用gitlab的时候,发现gitlab如果按照我上面那样的操作方式的话只会记录一次推送,也就是说你一天的工作量甚至两三天再gitlab上可能之后一次推送。
简单的说就是gitlab只认定你的git push次数,而不认定你git commit的次数,因此顺便使用了一下git stash的方法。
当你在使用 Git 进行版本控制时,可能会遇到需要暂存当前工作目录的情况,但又不想提交更改。这时,Git 提供了 stash
命令来帮助你保存和恢复这些临时更改。本篇博客将详细介绍 Git 的 stash
命令的使用方法。
stash
是 Git 提供的一个命令,用于暂时保存当前工作目录的更改,以便你可以切换到其他分支或者恢复到之前的状态,而不必提交未完成的更改。
要保存当前工作目录的更改,使用以下命令:
- 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>
,则默认应用最新的暂存区。执行此命令后,之前保存的更改将会被应用到当前工作目录中。
如果你希望在应用暂存区的更改后将其从存储栈中删除,可以使用以下命令:
git stash pop [<stash_id>]
与 apply
命令类似,如果没有指定 <stash_id>
,则默认应用最新的暂存区。执行该命令后,之前保存的更改将被应用到当前工作目录,并从存储栈中删除。
如果你想删除一个或多个保存的暂存区,可以使用以下命令:
git stash drop <stash_id>
这里的 <stash_id>
是要删除的暂存区的标识符。如果不指定 <stash_id>
,则默认删除最新的暂存区。
如果你想一次性清空所有保存的暂存区,可以使用以下命令:
git stash clear
该命令将删除所有保存的暂存区,无法恢复。
通过 stash
命令,你可以轻松地保存和恢复未提交的更改,而不必担心临时切换分支或回退代码会导致未完成的工作丢失。
希望本篇博客能够帮助你理解并正确使用 Git 的 stash
命令。如果你有任何疑问或需要进一步的帮助,请随时评论区留言!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。