`

Git 常用命令 --- git reset命令

    博客分类:
  • Git
 
阅读更多

git reset 的作用为:将文件从暂存区回退到工作区;版本回退。

 

1. git reset HEAD filename

回退文件,将文件从暂存区回退到工作区。也可以使用 git reset filename。

 

2. git reset HEAD^

回退版本,一个^表示一个版本,可以多个,另外也可以使用 git reset HEAD~n这种形式。

如果HEAD指针指向的是master分支,那么HEAD还可以换成master;

如果知道特定的commit-id,那么还可以直接使用 git reset commit-id;

如果不加参数,实际上使用的是默认的参数mixed。

 

我们可以使用git log -3来查看最近三次的提交,形如 git log -n ,n就是想要输出的个数,可以看到commit-id,author,date等信息。

 

3. soft参数:git reset --soft HEAD~1

表示将版本库软回退1个版本,软回退表示将本地版本库的头指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区。

 

4. 默认的mixed参数:git reset HEAD~1

表示将版本库回退1个版本,将本地版本库的头指针全部重置到指定版本,且会重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段。

 

5. hard参数:git reset --hard HEAD~1

表示将版本库回退1个版本,但是不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本。

 

注意:soft参数与默认参数都不会修改工作区代码,只有hard参数才会修改工作区代码。

 

6. git reset 配合 git commit 追加提交

什么时候会用到追加提交,追加提交有什么优点?

1)未merge的版本库中的提交不满意,希望修改其中的某些信息,如代码,如提交描述等,可以使用git commit --amend进行追加提交,优点是不会产生新的commit-id 

2)修改方法:如果想修改的不是最新一版的提交,那么可以通过git reset --hard HEAD~n将版本回退到需要的那版,如果想修改代码,那么直接在工作区进行代码修改,修改完之后git add到暂存区而不必再git pull,而如果是修改其他信息,那么可以直接使用git commit --amend进行追加提交,git commit --amend命令会打开一个编辑器,可以修改其中的信息,如果修改了代码而不修改其他信息,则直接 Ctrl + X离开编辑器,再git push推送到远程服务器,如果也修改了其他信息,那么需要先使用Ctrl + M写入信息,再Ctrl + X离开编辑器,再推送。

 

7. git reset -h | git reset --help 

查看帮助

 

 

分享到:
评论

相关推荐

    详解git reset --hard 和 git reset --soft区别

    主要介绍了详解git reset --hard 和 git reset --soft区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    git 视频教程

    git视频教程.3.5.Git 命令 - git reset.mp4 git视频教程.4.1.Git 命令 - git branch.mp4 git视频教程.4.2.Git 命令 - git branch.mp4 git视频教程.4.3.Git 命令 - git branch.mp4 git视频教程.4.4.Git 命令 - git ...

    Git常用的33个命令

    git reset [文件名]:将暂存区的文件取消暂存,或者切换到指定版本git reset --hard [版本号] git commit -m "描述信息" [文件名]:将暂存区的文件修改提交到版本库 git log:查看日志 远程仓库命令: git remote:...

    git 命令的收集以及总结分享学习

    HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。 要重返未来,用git reflog查看命令...

    git 基本命令整合

    Git基本常用命令如下:  git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。  git add 文件/(* 目录内所有文件) 将文件添加到暂存区去。  git commit –m “提交注释<必填>” 提交文件 –m 后面...

    Git-2.21.0-64-bit.zip

    * When one step in multi step cherry-pick or revert is reset or committed, the command line prompt script failed to notice the current status, which has been improved. * Many GIT_TEST_* ...

    git使用失误--------.md

    git reset --hard 代码飞走了,想找回,可借阅

    git reset 的三个参数.pdf

    1.--soft: 仅仅移动本地库 原先是统一战线的,git reset --soft 版本号 如果是后退了,相当于 工作区、暂存区 前进了 如果是前进了,相当于 工作区、暂存区 后退了 这个时候 git status 会根... 2.--mixed:本地库和暂存...

    expensify-app

    git config --global user.email git commit --amend --reset-author git remote-查看远程目标git remote -v git push git push heroku掌握shorcut仅添加所有修改的文件:git commit -a -m“ message”或它提交-am...

    git 删除分支和回滚的实例详解

    git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除 git reset --hard HEAD~3:将最近3次的提交回滚 【远程代码库回滚】: 这个是重点要说的内容,过程比本地回滚要复杂 应用场景:...

    详解git reset 加不加 --hard的区别

    主要介绍了详解git reset 加不加 --hard的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    git-helper:GIT快速帮助命令

    git repack设置远程GIT git init git add . git status git commit -m "First commit" git ... git fetch -- all 删除未跟踪的文件git clean -f -d 重置分支/文件git reset --hard origin/master强制放弃本地更改

    git-reset-revert-tutorial

    git-reset-revert-tutorial我想取消合并!

    git常用命令总结下载

    1.基础命令(add、commit、pull、push等); 2.分支操作(branch、checkout、cherry-pick、rebase等); 3.回滚与重做(reset、revert等); 4.日志(log、reflog、blame等)。

    git代码上传流程文档

    git reset 将暂存区的文件取消暂存 git commit 将暂存区的文件修改提交到本地仓库 git rm 删除文件 git remote -v git remote rm origin # 初始化本地仓库 git init # 添加文件到暂存区(添加全部文件) git ...

    git-sanitize:Git自定义命令,它将对分支进行完整的“消毒”

    git clean -xfdfgit submodule foreach --recursive git clean -xfdfgit reset --hardgit submodule foreach --recursive git reset --hardgit submodule update --init --recursive安装npm i -g git-sanitize用法...

    git-branch-deploy:为部署设置存储库分支

    它在您的路径中运行以下命令: git resetgit checkout .git clean -dfgit checkout mastergit pullgit fetch some-remotegit merge --no-commit --no-ff some-remote/fix-issue-branchgit reset在测试环境中设置...

    Dog-Cat-Mouse:学习-git-github

    git reset HEAD:添加错误时撤消 git reset --soft:提交错误时撤消。 提交前复出 git reset --mixed:错误提交时。 添加前复出 git reset --hard:删除提交=>删除的文件。 小心! ////// git checkout -b:创建新...

    Git-User-Switch:轻松切换git用户和电子邮件

    Switches locally by defaultOptions: -V, --version output the version number -g, --global Switch global git user -d, --delete Delete a git user from the listing -r, --reset Deletes all data and resets...

Global site tag (gtag.js) - Google Analytics