Git的各种操作

  • commit信息的比较
  • git diff id_1 id_2
  • git cherry-pick
  • git diff 的用法
  • 其他知识请参考
  • git中实现提交信息的换行,以及撤销换行的操作
  • 换行
  • 撤销换行操作
  • ctrl+c 中断commit操作
  • git commit --amend -m 重新修改
  • git commit --amend 进入vim界面修改
  • ~~Up-Arrow 箭头~~
  • git中实现复制,粘贴
  • 键盘操作
  • 鼠标操作



此文部分不清楚的问题

  • git diff id_1…id_2 和 git diff id_1 id_2 是否相同
  • 向上的箭头在git bash中的作用

commit信息的比较

git diff id_1 id_2

当我们提交了多次commit信息后,想要看两次commit信息之间的不同之处,这时候可以用 git diff commit_id_1 commit_id_2 来查看——从 id_1id_2 的变化
注意id顺序

也可以 git diff HEAD^ HEAD,查看上一次提交到这一次提交的变化

git diff HEAD^..HEAD git diff HEAD^.. git diff HEAD^ 貌似和上述命令相同

gitlab 对比两个分支graph gitlab 比较两次提交的区别_双引号

git cherry-pick

参考 Stack OverflowHow to see the changes between two commits without commits in-between?说实话,这题目没看懂,什么叫不包含之间的commit
需要提前 git log --pretty=oneline 一下

git checkout HEAD^
git cherry-pick 切换分支前的最新一次提交序列号
git diff --cached

git cherry-pick 将指定提交应用于当前分支,-n 代表只更新工作区暂存区,不产生新的提交

git diff 的用法

git diff 工作区和暂存区文件的对比
git diff HEAD 工作区和当前分支的对比
git diff --cached 暂存区和当前分支的对比

其他知识请参考

Find the difference----git diff

git中实现提交信息的换行,以及撤销换行的操作

换行

一般情况下,commit信息是单行的,通过双引号包裹起来。
如果想要换行,先打前双引号,输入信息,然后直接 Enter 键,就可以实现换行,并且有 > 提示符,结束换行就用后双引号,然后 Enter

gitlab 对比两个分支graph gitlab 比较两次提交的区别_暂存区_02

撤销换行操作

如果不小心连按两次Enter,想要撤回咋办?BackSpace 不可行

ctrl+c 中断commit操作

gitlab 对比两个分支graph gitlab 比较两次提交的区别_gitlab 对比两个分支graph_03

git commit --amend -m 重新修改

如果连打了两次Enter,先不要理会,提交了再说。之后再用 --amend 参数进行修改

gitlab 对比两个分支graph gitlab 比较两次提交的区别_git_04

git commit --amend 进入vim界面修改

gitlab 对比两个分支graph gitlab 比较两次提交的区别_git_05


直接修改 最上方的 message信息即可

如果清空了message信息,这次修改会被取消,即message仍是 delete hello.txt

Up-Arrow 箭头

这一个很玄幻,还没有摸清,不建议使用

git中实现复制,粘贴

键盘操作

Enter 代表复制,Insert 代表粘贴(有时ctrl + v 也行?)

鼠标操作

左键选中区域后,右键即可复制。右键粘贴