1. Git常用命令图
- Workspace:工作区
- Index / Stage:暂存区
- Repository:本地仓库
- Remote:远程仓库
2. 撤销刚刚git add(暂存的文件)
git reset head <暂存的文件>
3. 撤销暂存区中指定的commit之前的提交
git reset --hard <commit的hash值>
注:--hard 丢弃working directory中内容的修改
--soft 保留working directory中内容的修改
4. 修改commit***一次的注释信息
使用命令:# git commit --amend 如:
(1)git log命令查看到***一次的commit注释信息为:“注释信息”
(2)# git commit --amend
以上命令执行后会调到文本编辑窗口
将这里的注释信息改成你想要的注释信息,如“修改注释信息”,保存
(3)重新push到服务端即可
git push origin master -f
此时服务端的注释信息已经是刚修改的注释信息了
注:修改***一次commit的注释信息还有一种更简单的方式,如下:
# git commit --amend -m "提交注释信息"
5. 修改commit的历史注释信息
(1)使用 git rebase -i head~2(~2指列出当前版本的前2条提交记录)
git rebase -i head~2
此时会跳转到文本编辑窗口
共列出了两条历史提交信息,要修改哪条就将哪条的 pick 字段修改为 edit ,如将***条改成edit,然后保存退出,这是可通过git log命令可以发现现在git的***一次提交已经变成你选中的那条了。
(2)然后就可以通过 git commit --amend命令来进行修改了
(3)修改完后使用 git rebase --continue 命令返回
(4)git push origin master -f
6. 版本回退
(1)使用git log查看历史提交信息,如
(2)如想回退到 ”新增index.html页面“这个提交版本
git reset --hard bebdaf328533d2517875a3db7d1aabc2834f2d59
注:--hard 参数在回退版本后会抛弃当前工作区的修改
--soft 参数在回退版本后可以保留当前工作区的修改
(3)push到远程服务端
git push origin master -f
注:-f 为强制推送,不然服务器会拒绝推送
7. 合并多个commit最简单的方法
比如要将已提交的3个commit合并为一个commit
(1)撤销***的3个commit
git reset head~3
(2)新建一个commit提交
git commit -am "提交注释信息"
注:参数 -am 与 -m 不同的是 -m 提交需要先 git add <文件> 加入stage,然后才能commit提交,而 -am 相当于 add 与 commit的组合,可以直接commit,但是前提是被改动的文件已被 tracked