Git使用教程

N 人看过

准备工作

在本地安装好Git

Git常用命令

git init            # 初始化
git add .            # 上传所有文件到缓存区
git status -s        # 查看缓存区文件状态
git rm -r --cache <文件名>    # 清除缓冲区文件
git commit -m ''    # 上传日志
git branch -M main            # 转换branch

Git远程连接GitHub

ssh-keygen常用命令

ssh-keygen -t rsa -C '注释' -f '~/.ssh/自定义文件名'

# 命令选项
-b:指定密钥长度
-e:读取openssh的私钥或者公钥文件
-C:添加注释
-f:指定用来保存密钥的文件名
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥
-l:显示公钥文件的指纹数据
-N:提供一个新密语
-P:提供(旧)密语
-q:静默模式
-t:指定要创建的密钥类型

ssh-keygen用于在.ssh文件夹下生成私钥文件id_rsa和公钥文件id_rsa.pub
GitHub似乎不能识别自定义的文件名,所以为GitHub生成密钥时请使用默认文件名,即不指定-f

在GitHub中配置SSH

  1. 登录GitHub,进入Setting
  2. 找到SSH and GPG keys,点击New SSH key,自定义title
  3. id_rsa.pub的内容复制到key
    Github设置SSH界面

远程连接命令

ssh -T git@github.com # 测试是否连接到GitHub
git remote add origin git@github.com:<用户名>/<仓库名>.git  # 链接
git remote -v        # 查看已建立的链接
git remote rm XX    # 删除链接XX
git push -u origin master    # 上传到GitHub

Git修改commit注释

修改最后一次提交的commit注释

git commit --amend  # 打开nano/vim编辑commit
git log             # 修改完保存退出,然后打印log查看是否修改成功
# nano编辑器:如同记事本一样直接删除插入,C^表示Ctrl+,M^表示Alt+
# vim编辑器: i-insert模式,:wq-保存退出

修改任意一次commit注释

查看提交日志,确认要修改的提交历史

git log

变基操作

git rebase -i <commit range>
# 示例
git rebase -i HEAD~2    # 表示当前提交到2次以前的提交
git rebase -i <hash值>  # 表示hash值对应的某次提交

编辑commit

  1. 将pick修改为edit
  2. 将原始注释改为新的注释
  3. 保存退出

执行commit修改

git commit --amend
git rebase --continue

修改已经Push到远程的commit注释

首先把最新版本从远程pull到本地,然后使用上面👆的方法修改,在强制push到远程。

git push --force origin master

附录

高频命令

git log --oneline  # 精简在一行显示一条history记录
git log --graph    # 可视化提交的历史
git branch [new branch name] [commit id]   # 从历史提交处创建分支

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。