git常常用命令

这篇文章中,一些简单的,大家都知道的git 命令我就不再赘述,我只写出来最近在项目中常用到的一些命令。这些命令可以帮助我更好的开发。

git stash

请大家设想下面的场景,你的本地有两个分支,develop,fix分支,你正在develop分支上写一些需求,但是还没有写好,突然来了一个很紧急的bug,这个bug需要你切换到fix分支进行修改。此时你会怎样?是把未开发完毕的需求commit吗?还是直接变更分支?直接commit会导致本地的提交非常的乱。直接变更分支,那你未开发完毕的代码可就离你而去了……

你有更好的选择。git stash 可以帮助你先将没开发完毕的需求放到暂存区中,允许你切换到其他分支修改完毕后,切回原先的分支并恢复。这样你就可以重新开发了。

使用:

1.git stash

保存当前工作进度,会把暂存区和工作区的改动保存起来。执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动。使用git stash save 'message...'可以添加一些注释

2.git stash list

显示保存进度的列表。也就意味着,git stash命令可以多次执行。

3.git stash pop [–index] [stash]

git stash pop 恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。
git stash pop --index 恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)
git stash pop stash@{1}恢复指定的进度到工作区。stash_id是通过git stash list命令得到的
通过git stash pop命令恢复进度后,会删除当前进度。

4.git stash apply [-index] [stash_id]

通过git stash apply命令恢复进度后,不会删除当前进度,其余和git stash pop 一样

5.git stash drop [stash_id]

删除一个存储的进度。如果不指定stash_id,则默认删除最新的存储进度。

6.git stash clear 

清除所有存储的进度

commit后再撤销commit

当你commit修改了一些代码后,提交到本地了。后来又发现有更好的解决办法,但是此时本地已经有一版commit了,为了保证工作树的清晰,尽量不要commit两次。那么此时如何撤回之前的commit

git reset --soft HEAD^ 

这样就成功撤销了commit,如果想要连着add也撤销的话,–soft改为–hard(删除工作空间的改动代码)。

命令详解:

HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1
如果进行两次的commit,想要都撤回,可以使用HEAD~2

–soft
不删除工作空间的改动代码 ,撤销commit,不撤销git add file

–hard
删除工作空间的改动代码,撤销commit且撤销add

add 后取消指定文件add

当我们不小心 git add . 将所有更新都提到仓库后,想撤销操作。

这时候可以用

git reset .

将所有add 上的东西全部取消提交,然后再提交指定文件

或者先用 git status 查看提交了哪些文件,然后 git reset + 指定文件 来撤回。

git cherry-pick 

在项目中,往往我们会有很多个分支,当我们发现多个分支中存在同样的问题时,这时候我们就可以只在一个分支上进行修改,然后利用cherry-pick 命令将指定的新提交合入另一个分支上。

git cherry-pick 提交号

利用这个命令就可以实现将指定提交合入分支的操作了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值