git常见操作整理(持续更新)

114 阅读4分钟

前言

本篇文章整理 git 的常用操作,同样也是程序员必备的操作。看得越熟越好。

正文

0. 🌞 常用操作开始之前先来点小贴士!

  1. 提交用祈使句,而不是过去式:
祈使语气 (正确)过去式 (避免使用)中文含义
FixFixed修复
AddAdded添加
UpdateUpdated更新
RemoveRemoved移除
RefactorRefactored重构
ImplementImplemented实现
ImproveImproved改进
SimplifySimplified简化
CorrectCorrected纠正

核心原则:使用祈使语气(现在时,命令式),将每次提交视为对代码库的 指令,例如“Fix the bug”,而不是描述你个人工作的 记录,如“Fixed the bug”。这符合 Git 官方的约定和社区的通用实践。

本人之前就天天用 fixed,可恶 😾。

1. 创建新分支并推送到远程仓库

# git checkout -b dev_jjq = git branch dev_jjq + git checkout dev_jjq
git checkout -b dev_jjq
git push origin dev_jjq

2. 删除分支并且推到远程仓库

git checkout master # 需要先切换到其他分支
# 删除本地分支
git branch -d dev_jjq

# 删除远程分支
git push origin --delete dev_jjq

3. 查看分支

git branch # 查看本地分支
git branch -a # 查看本地分支和远程分支

4. 查看 git 提交历史、查看各个提交改动了哪些地方

VSCode 左侧选中 GIT 图标,即可在左下角的 GRAPH 处查看提交历史树

5. git commit 消息打错了,想修改

git commit --amend -m "新的提交消息"

6. 文件的跟踪与不跟踪

创建一个不想被跟踪的文件

  1. 调整.gitignore 文件:如新增ignore-test*
  2. 创建那个不想被跟踪的文件即可:如增加ignore-test.txt

原本不被跟踪的文件,现在想要跟踪

  1. 修改.gitignore文件即可

原本被跟踪,现在不想跟踪的文件

# 如果是一个文件的话 需要加 -r
git rm --cached <file>

此时指定的文件会变为未跟踪状态

后续调整.gitignore文件,这个时候文件的 git 状态会被认定为删除状态

执行git addgit commitgit push即可

操作完之后,对应的文件就不再会被跟踪

7. 测试 SSH 连接到 GitHub 是否成功

ssh -T git@github.com
# 验证成功后会返回:
# Hi Jjqcoder! You've successfully authenticated, but GitHub does not provide shell access.

Hi Jjqcoder!: GitHub 识别出了我的用户名

You've successfully authenticated: 身份认证成功

but GitHub does not provide shell access: 但 GitHub 不提供 shell 访问权限(这是正常的,GitHub 本来就不让你直接登录服务器操作)

建议使用 ssh 方式连接而不是 https 方式连接,ssh 连接一般更稳定。

8. 创建反向提交

git revert <Commit ID>

9. windows 环境下,配置 git 支持中文

如果你运行git status,看到的内容如下:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        "src/\345\205\266\344\273\226/blogs/ai/2.LLM\347\232\204\345\272\225\345\261\202\346\230\257\347\273\237\350\256\241\345\255\246\357\274\214\351\202\243\344\270\272\344\273\200\344\271\210\345\217\257\344\273\245\350\247\243\345\206\263\344\273\216\346\234\252\345\207\272\347\216\260\350\277\207\347\232\204\351\227\256\351\242\230\357\274\237.md"
        "src/\345\205\266\344\273\226/blogs/information security/16.JWT\346\224\257\346\214\201\347\232\204\347\256\227\346\263\225\346\200\273\347\273\223.md"

也就是中文无法正常显示的情况,可以按照如下方式解决。

# 设置Git支持中文文件名
git config --global core.quotepath false

# 设置Git使用UTF-8编码
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8

# 设置终端使用UTF-8(Windows Terminal或PowerShell)
chcp 65001

最后

基础操作要特别熟悉,使用一些较复杂的操作才会比较游刃有余。