git 常用指令

git checkout到指定的tag

git checkout -b [分支名称] [tag标签名称]

比如:git checkout -b new_branch v1.0

git commit之后还没有push,如何撤销本次的commit?

使用命令:
git reset --soft HEAD^

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

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

–soft
不撤销工作空间的改动的代码 ,即撤销commit,但不撤销git add file
–hard
撤销工作空间的改动代码,即撤销commit且撤销add

git commit之后如何修改注释

如果commit注释写错了,先要改一下注释,有其他方法也能实现,如:
git commit --amend
这时候会进入vim编辑器,修改完成你要的注释后保存即可。

配置

查看所有的配置

git config --list

配置用户名和邮箱

git config --global user.name  "username"  
git config --global user.email  "email"

–global 表示全局的,即当前用户都有效,该配置会出现在 ~/.gitconfig 文件中,~表示当前用户的目录

不加 --global 就表示是局部的,如:

git config  user.name  "username"  
git config  user.email  "email"

局部是只对当前仓库起效的,它的配置信息会在当前仓库根目录/.git/config文件下。

git stash

使用场景,在一个分支修改了某些东西后,切换到新分支,并且希望将这个分支的修改内容带到新分支中,可以在当前分支使用git stash暂存工作区的修改,然后checkout到新分支,然后执行git stash apply即可。

git stash pop 与 git stash apply的区别,git stash pop 会删除stash 栈中的记录,git stash apply则不会,因此可以恢复多次。

如果git stash apply之后又不想要更新后的内容了,想恢复到之前的内容,怎么办?
git reset --hard HEAD //撤销工作区的修改并撤销暂存区(staged)的修改到commit状态

WIP

git stash的WIP是什么意思?
WIP全称:Work in progress,表示正在工作过程中的。即这部分代码是半成品。WIP其实代表的就是WIP版本里面的代码是“正在编写中的代码”,还不能commit的代码,但是我们可以把这部分代码用git stash指令先储藏起来,并用WIP给他们做标记。

git restore

git restore 撤销工作区的全部修改 如何使用?

git restore --worktree README.md
表示撤销 README.md 文件工作区的的修改, --worktree参数等同于 -W

git restore --staged README.md
表示撤销暂存区的修改,将文件状态恢复到未 add 之前的状态, --staged参数等同于 -S

git restore -s HEAD~1 README.md
表示将当前工作区切换到上个 commit 版本

git restore -s dbv213 README.md
表示将当前工作区切换到指定 commit id 的版本

当前修改的空间是工作区,叫worktree
git add之后,文件是在暂存区,叫staged

GIT 获取指定时间的历史版本代码

如何根据时间获取commit或者根据时间查看git log日志信息

查看某个时间点以后的log:
git log --since=“Fri Aug 10 19:16:10 2012 +0800”

或者用–until 查看某个时间点以前的log:
git log --before=“Fri Aug 10 19:16:10 2012 +0800”

fatal: remote origin already exists.

执行git remote add origin "github仓库地址" 时报错:remote origin already exists
说明本地库关联的远程仓库origin已经存在,删除关联的远程仓库origin即可: git remote rm origin

参数-和–有什么区别

^ 和 ~ 的区别

git add -A 和 git add . 的区别

根据关键字过滤commit记录

比如想过滤含有helloworld的commit记录:

 git log --grep="helloworld"

根据commitid查看做了哪些修改

方式1:

git show commid

方式2:
也可以在在github上进入到仓库中,然后在左上角的搜索框中输入commitid,点击搜索,即可看到本次commitid对应的修改内容。

参考:
Git配置用户名和邮箱
Git - stash用法
git stash详解
命令行参数前的「-」和「–」有什么区别?

git add -A 和 git add . 的区别
git 理解 HEAD^与HEAD~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值