Git小妙招

Git

git 入门

Git 基本操作 | 菜鸟教程 (runoob.com)

Git 五分钟教程 | 菜鸟教程 (runoob.com)

git tag

git tag 的用法及意义 - Zioyi - 博客园 (cnblogs.com)

git add .
git commit -m [message]
git pull
git push

git 提交前缀

提交信息基本模板

feat: 新功能
fix: 修复问题
docs: 修改文档
style: 代码格式(不影响代码运行的格式变动,注意不是指 CSS 的修改)
refactor: 重构(既不是新增功能,也不是修改 bug 的代码变动)
perf: 提升性能
test: 增加修改测试用例
deps: 升级依赖
chore: 日常工作

如果 commit 信息都按照一定的模式进行提交,那么我们就会很容易找到自己想要的信息,模板参考如下:

<type>[(scope)]: <subject> [<ISSUE_ID>]

style:2.9.1版本设计走查内容 #123455

fix: 修改首页图片显示bug #123456

feat:新增税企互动2.9.1版本功能 #122345

Untitled

git revert 与 git reset

git revert 和 git reset 的区别及使用方法 - 知乎 (zhihu.com)

git reset HEAD^ 回到上一级(此时代码在修改区)

git revert HEAD 重做当前代码(无了,就是无了)

简写

—interactive 与 -i

移动当前 HEAD git checkout <name>

查看当前用户

git config user.name    //查看当前git的用户名
git config user.email   //查看当前git的邮箱
git config --global user.name'drk'  //修改当前的用户名
git config --global user.email 'drk@163.com'  //修改当前的邮箱

设置公司账号

git config --global user.email 'wangmengyuan@nnuo.com'

写错 commit 时的救星以及 bash 控制台的各种操作

git commit —amend

git commit --amend 修改 git 提交记录用法详解 - 知乎 (zhihu.com)

i 输入模式

:wq 写入并退出

git 实战中很慢

192.30.253.112 github.com
151.101.184.133 assets-cdn.github.com
151.101.185.194 github.global.ssl.fastly.net
140.82.112.3 github.com
199.232.69.194 github.global.ssl.fastly.net

给你一颗后悔药 git reset —soft HEAD^

命令使用

学会 reset --soft 之后,你只需要:

# 恢复最近一次 commit
git reset --soft HEAD^

reset --soft 相当于后悔药,给你重新改过的机会。对于上面的场景,就可以再次修改重新提交,保持干净的 commit 记录。

以上说的是还未 push 的 commit。对于已经 push 的 commit,也可以使用该命令,不过再次 push 时,由于远程分支和本地分支有差异,需要强制推送 git push -f 来覆盖被 reset 的 commit。

还有一点需要注意,在 reset --soft 指定 commit 号时,会将该 commit 到最近一次 commit 的所有修改内容全部恢复,而不是只针对该 commit。

作者:出来吧皮卡丘

链接:https://juejin.cn/post/7071780876501123085

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

git stash

git stash (save[])
git pull
git stash pop

git cherry-pick

git cherry pick 教程 - youxin - 博客园 (cnblogs.com)

超神了这个摘樱桃操作 注意是左开右闭
https://juejin.cn/post/7155759979717197860

git cherry-pick 2ed00fdb0c925ad9cbf263b8a9e88fa33ff2cf16..b62a94ccea2110b9ed64076c64817bf489a154a0
左开右闭 1 先提交 100 后提交
git cherry-pick (commitid1..commitid100]

看清楚版本啊啊啊,哪个

git merge 用法

分支合并

一旦某分支有了独立内容,你终究会希望将它合并回到你的主分支。 你可以使用 git merge 命令将任何分支合并到当前分支中去:

$ git branch
* master
  newtest
$ ls
README        test.txt
$ git merge newtest
Updating 3e92c19..c1501a2
Fast-forward
 runoob.php | 0
 test.txt   | 1 -
 2 files changed, 1 deletion(-)
 create mode 100644 runoob.php
 delete mode 100644 test.txt
$ ls
README        runoob.php

以上实例中我们将 newtest 分支合并到主分支去,test.txt 文件被删除。

Git 分支管理 | 菜鸟教程 (runoob.com)

压缩合并

实际体验感觉不如 gitlab 自带的 merge 里的合并好用

git merge <branch-name> --squash

git 合并多个 commit & 压缩合并 - 简书 (jianshu.com)

git branch -d

不能在当前分支上删除

修改已提交的 commit

 git commit --amend

进入 vim 界面,按下o开始编辑,编辑完成后按下esc退出编辑,:q直接退出,:wq保存并退出

https://www.zhihu.com/tardis/zm/art/401811121?source_id=1005

BUG

fatal: Exiting because of unfinished merge

merge 中途太多 conflict 就选择直接退出,再 git pull 会报上述错误

(放弃本地修改):

git reset --hard origin/master

Git 命令问题:fatal: Exiting because of unfinished merge - 安静的女汉纸 - 博客园 (cnblogs.com)

2024 年 10 月 28 日
如果本地有删除修改上的 stash,可以先不管,直接将 stash apply 一下,此时分支上是干净的

prettier 报错 CRLF

原因:VSCode 的 CRLF 与 LF 冲突

解决方法:文件-首选项-Eol 选择/n 或者拉取项目之前

git config --global core.autocrlf false

配置全局 LF

[VSCode CRLF 与 LF 冲突解决 - 掘金 (juejin.cn)](https://juejin.cn/post/7080793414245023757)

添加 SSH 密钥

换了电脑后 git 操作每次都要输入账户密码 这里绑定 gitee 的 SSH
https://gitee.com/profile/sshkeys

github 加速

watt toolkit
微软商店下载

拉取代码时报错 SSL 证书未验证

git config user.email
查看当前登录邮箱是否是可用
git config --global http.sslVerify false
关闭证书校验
执行拉取代码,直接

设置代理解决 github 被墙

mac 上一直遇到 git pull 443 的问题,windows 上可以用 watt toolkit 加速解决。mac 上我开了梯子却还是 443,遂搜索相关问题,发现需要设置代理。

参考这篇知乎

git config --global http.https://github.com.proxy socks5://127.0.0.1:clash端口号

posted @ 2024-11-12 09:54  乐盘游  阅读(5)  评论(0编辑  收藏  举报