常见Git操作学习笔记

1.生成SSH密钥

  • (1)使用指令:
1
2
3
4
# 1.使用ed25519算法,命令如下
>> ssh-keygen -t ed25519 -C "your_email@example.com"
# 2.不支持ed25519算法,可以使用命令如下:
>> ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • (2)使用示例
1
>> ssh-keygen -t rsa -b 4096 -C "2458006366@qq.com"
  • (3)获取公钥
1
2
3
4
# 1.ed25519对应:
>> cat ~/.ssh/id_ed25519.pub
# 2.rsa对应:
>> cat ~/.ssh/id_rsa.pub

2.创建一个新项目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1.项目初始化
>> git init
# 2.创建README文件
>> echo "# test" >> README.md
# 3.添加README文件
>> git add README.md
# 4.添加提交记录
>> git commit -m "first commit"
# 5.修改分支到main
>> git branch -M main
# 6.添加远程分支地址
>> git remote add origin git@github.com:MirrorYuChen/test.git
# 7.推送代码
>> git push -u origin main

3.修改远程仓库地址

1
2
3
4
5
6
7
8
9
10
11
12
# 1.查看当前远程分支
>> git remote -v
origin https://github.com/MirrorYuChen/MirrorYuChen.github.io.git (fetch)
origin https://github.com/MirrorYuChen/MirrorYuChen.github.io.git (push)
# 2.修改远程仓库地址
## 2.1 直接修改远程仓库地址,格式:git remote set-url <远程仓库名> <新的URL>
>> git remote set-url origin git@gitee.com:yourname/new-repo.git
## 2.2 删除后重新添加远程仓库地址:
>> git remote remove origin
>> git remote add origin https://gitee.com/yourname/new-repo.git
# 3.验证是否成功
>> git remote -v

4.一些branchtag常规操作

4.1 本地分支创建

1
2
3
4
# 1.仅创建分支
>> git branch dev
# 2.创建分支并立即切到该分支
>> git checkout -b dev

4.2 推送本地分支到远程仓库

1
2
3
4
5
# 1.推送本地dev分支到远程仓库,远程会生成同名dev分支
>> git push origin dev
# 2.建立本地分支与远程分支的关联(后续推送/拉取可简化指令)
# -u = --set-upstream,关联后,后续只需git push/pull即可
>> git push -u origin dev

4.3 删除分支

1
2
3
4
5
6
7
# 1.删除本地分支
>> git checkout main # 先离开要删除分支
>> git branch -d dev # 安全删除:仅删除已合并到当前分支的分支
>> git branch -D dev # 强制删除:不管是否合并,直接删除

# 2.删除远程分支
>> git push origin --delete dev

4.4 创建标签

1
2
3
4
5
6
7
8
# 1.轻量tag,仅版本号无附加信息
>> git tag v1.0

# 2.带版本注释
>> git tag v1.0 -m "v1.0 正式版:完成用户登录功能"

# 3.为指定提交记录创建tag(比如回滚到某个历史版本打 tag)
>> git tag -a v0.9 -m "测试版" 1a2b3c4 # 1a2b3c4 是提交哈希值(前几位即可)

4.5 推送标签到远程仓库

1
2
3
4
5
# 1.推送单个tag
>> git push origin v1.0

# 2.推送本地所有未推送的tag到远程
>> git push origin --tags

4.6 删除标签

1
2
3
4
5
# 1.删除本地tag
>> git tag -d v1.0

# 2.删除远程tag
>> git push origin --delete v1.0

5.子模块常见操作

5.1 添加子模块

1
2
3
4
5
# 1.基本语法:git submodule add <子项目仓库URL> <本地存放路径>
>> git submodule add https://github.com/username/sub-repo.git ./submodules/sub-repo
# 2.提交主项目变更
>> git add .gitmodules ./submodules/sub-repo
>> git commit -m "add submodule: sub-repo"

5.2 下载包含子模块的主项目

1
2
3
4
5
# 1.先下载主项目,然后拉取子模块
>> git clone https://github.com/username/main-repo.git
>> cd main-repo && git submodule init && git submodule update
# 2.直接一步到位
>> git clone --recurse https://github.com/username/main-repo.git