关于Git的几个使用技巧

开发 后端
参数 -am 与 -m 不同的是 -m 提交需要先 git add <文件> 加入stage,然后才能commit提交,而 -am 相当于 add 与 commit的组合,可以直接commit,但是前提是被改动的文件已被 tracked

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 为强制推送,不然服务器会拒绝推送

[[185186]] 

 

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

责任编辑:张燕妮 来源: 开源中国社区
相关推荐

2023-02-02 14:06:00

history命令技巧

2023-12-01 15:54:44

2015-08-24 08:59:13

Git技巧

2022-08-18 10:01:35

Jmeter技巧

2021-07-12 15:35:56

JavaScript代码运算符

2023-11-23 10:21:37

2018-05-04 09:14:09

Git技巧shell命令

2022-04-02 09:56:44

pipPython

2013-06-03 10:02:53

WAF绕过

2022-09-07 00:04:37

JavaScript运算符技巧

2019-07-25 10:45:05

GitHub技巧网站

2024-06-21 14:41:52

2019-09-29 10:04:26

技术编程开发

2015-11-30 17:12:31

Git使用技巧

2018-04-15 15:43:46

Git技巧命令

2022-01-06 15:21:32

pipPython技巧

2022-04-06 07:32:41

Java运算符变量

2024-03-01 13:48:00

Git配置系统

2015-02-04 10:32:57

Objective-CSwift

2020-04-14 09:59:46

新基建数据中心5G网络
点赞
收藏

51CTO技术栈公众号