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~

### Git 常用指令汇总 以下是基于提供的参考资料以及专业知识整理的 Git 常用命令列表: #### 初始化与配置 - **初始化仓库**: 使用 `git init` 可以在一个工作目录中初始化一个新的 Git 仓库[^1]。 - **全局用户名和邮箱设置**: ```bash git config --global user.name "Your Name" git config --global user.email "your_email@example.com" ``` #### 添加文件到暂存区 - 将单个文件添加到暂存区: ```bash git add filename ``` - 将多个文件添加到暂存区: ```bash git add *.extension ``` - 将所有更改的文件一次性添加到暂存区: ```bash git add . ``` #### 提交更改 - 提交暂存区中的更改并附带提交信息: ```bash git commit -m "commit message" ``` - 如果有已跟踪文件被修改过,则可以跳过暂存直接提交: ```bash git commit -am "commit message" ``` #### 查看状态与日志 - 查看当前工作树的状态,包括哪些文件已被修改但尚未提交: ```bash git status ``` - 显示所有的提交记录及其元数据: ```bash git log ``` - 更简洁的日志显示方式: ```bash git log --oneline ``` #### 分支管理 - 列出所有分支: ```bash git branch ``` - 创建新分支: ```bash git branch new_branch_name ``` - 切换至另一个分支: ```bash git checkout existing_branch_name ``` - 合并某个分支到当前分支: ```bash git merge source_branch_name ``` #### 远程操作 - 查看远程仓库的信息: ```bash git remote -v ``` - 添加一个新的远程仓库: ```bash git remote add shortname url ``` - 获取最新的远程分支更新: ```bash git fetch origin ``` - 将本地提交推送到远程仓库: ```bash git push origin master ``` #### 标签管理 - 查看已有标签: ```bash git tag ``` - 创建轻量级标签: ```bash git tag v1.0 ``` - 创建带有注解的标签: ```bash git tag -a v1.0 -m "Version 1 release" commit_hash ``` - 推送标签到远程仓库: ```bash git push origin v1.0 ``` - 删除本地标签: ```bash git tag -d v1.0 ``` - 删除远程标签: ```bash git push origin :refs/tags/v1.0 ``` #### 撤销操作 - 撤销最后一次提交但仍保留代码改动: ```bash git reset HEAD~1 ``` - 撤销某一次特定提交的历史记录而不影响后续提交: ```bash git revert commit_id ``` - 若想重置整个项目回到某一历史节点(危险操作),可使用硬重置: ```bash git reset --hard commit_id ``` #### 其他实用技巧 - 当前未保存的工作进度可以通过 stash 功能临时存储起来以便切换上下文环境: ```bash git stash save "message" git stash pop # 应用最新stash并移除它 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值