git stash git tag

说一说 git stash, git tag , git 删除远程分支

git stash

git stash 在之前用得比较少,但真正使用起来还是非常方便的。使用git的时候,我们往往使用 branch 解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码,,如果别人或者自己发现原有的分支上有个不得不修改的 bug,我们往往会把完成一半的代码 commit 提交到本地仓库,然后切换分支去修改 bug,改好之后再切换回来。这样的话往往 log 上会有大量不必要的记录,比较冗余。

其实如果我们不想提交完成一半或者不完善的代码,但是却不得不去修改一个紧急 Bug,那么使用 ‘git stash’ 就可以将你当前未提交到本地(和服务器)的代码推入到 Git 的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修 Bug,等到修完 Bug,提交到服务器上后,再将之前一半的工作状态恢复回来。

几个命令的简要说明:

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到 Git 栈中。

git stash pop: 从 Git 栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个 Stash 的内容,所以用栈来管理,pop 会从最近的一个 stash 中读取内容并恢复。

git stash list: 显示 Git 栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

git stash clear: 清空 Git 栈。

比较简单,这里不截图举例了。

git tag

这也是一个比较实用的命令,关于打标签的具体操作,在此不做赘述,有很多很详细的博文,给个传送:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001376951758572072ce1dc172b4178b910d31bc7521ee4000

有些需要注意的点单独拿出来说一下:默认标签是打在最新提交的 commit 上的。有时候,如果忘了打标签,比如,现在已经是周日了,但应该在周一打的标签没有打,怎么办?方法是找到历史提交的commit id,然后打上就可以了:

git tag v0.9 需要打标签的 commit id
  • 1

最后要说说如何删除远程分支,我们有时候把不想要的分支 push 到 server 上,想要删除掉。可以使用以下命令:

  1. 删除本地分支
git branch -d branch-name
  • 1
  1. 提交一个空分支到远程服务器
git push origin :branch-name
  • 1

特别要注意的是,冒号前面的空格不能少,原理是把一个空分支 push 到 server 上,相当于删除该分支。

posted @ 2020-09-17 15:08  GLORY-HOPE  阅读(353)  评论(0编辑  收藏  举报