Git使用教程
准备工作
在本地安装好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
- 登录GitHub,进入
Setting
- 找到
SSH and GPG keys
,点击New SSH key
,自定义title - 将
id_rsa.pub
的内容复制到key
内
远程连接命令
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
- 将pick修改为edit
- 将原始注释改为新的注释
- 保存退出
执行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) 进行许可。