git常用基础操作指令
一、初次配置(只做一次)
# 设置用户名(必须和 GitHub/Gitee 一致) git config --global user.name "你的用户名" # 设置邮箱(必须和 GitHub/Gitee 绑定邮箱一致) git config --global user.email "你的邮箱@example.com" # 设置git 默认编辑器(因个人不习惯nano界面,故修改默认为vim)(可选) git config --global core.editor vim # 查看配置是否生效 git config --global --list二、创建 / 克隆仓库
1)本地新建仓库
mkdir my_project cd my_project git init # 初始化本地 git 仓库,生成 .git 目录2)克隆远程仓库(最常用)
# HTTPS 方式(每次 push 要输账号密码) git clone https://gitee.com/xxx/xxx.git # SSH 方式(配置好密钥后免密,推荐) git clone git@gitee.com:xxx/xxx.git三、日常开发:改代码 → 暂存 → 提交
1)查看状态
git status # 详细状态 git status -s # 简洁状态(A新增、M修改、D删除、??未跟踪)2)添加到暂存区(add)
git add 文件名.py # 单个文件 git add src/ # 整个目录 git add . # 当前目录所有新增/修改(不含删除) git add -A # 所有:新增+修改+删除(最常用)3)提交到本地仓库(commit)
# 标准提交(必须写清楚做了什么) git commit -m "feat: 新增登录功能" # 跳过 add,直接提交所有已跟踪文件的修改(慎用) git commit -am "fix: 修复bug" # 修改上一次提交信息(不新增提交) git commit --amend -m "新的提交信息"四、分支操作(开发 / 隔离功能必备)
# 查看本地分支(* 表示当前分支) git branch # 查看所有分支(含远程) git branch -a # 创建新分支 git branch dev # 切换分支 git switch dev # 新版 git checkout dev # 旧版 # 创建并切换(最常用) git switch -c feature/login # 或 git checkout -b feature/login # 合并分支(把 dev 合并到 main) git checkout main git merge dev # 删除本地分支 git branch -d dev五、远程协作(和 GitHub/Gitee 交互)
1)查看远程
git remote -v2)添加远程
# origin 是默认远程名 git remote add origin git@gitee.com:xxx/xxx.git3)推送本地到远程
# 首次推送,要关联远程分支 git push -u origin main # 之后直接 git push4)拉取远程更新
# 拉取并合并(常用) git pull # 只拉取不合并(安全) git fetch origin六、回退与撤销(非常重要!)
1)撤销工作区修改(未 add)
git checkout -- 文件名.py2)撤销暂存(已 add,未 commit)
git reset HEAD 文件名.py3)回退到某个版本(已 commit)
# 查看提交记录,拿到 commit id git log --oneline # 回退到指定提交,保留修改(常用) git reset --soft HEAD~1 # 回退 1 个版本 git reset --soft a1b2c3d # 回退到指定 commit # 彻底回退,丢弃所有修改(危险!) git reset --hard HEAD~14)安全撤销公共分支提交(用 revert)
git revert HEAD七、常用组合(日常 80% 操作)
# 1. 新功能 git switch -c feature/xxx # 改代码... git add . git commit -m "feat: xxx" git push -u origin feature/xxx # 2. 同步远程 git checkout main git pull # 3. 合并功能分支 git checkout main git merge feature/xxx git push配置密钥和公钥
一、生成两对独立密钥(GitHub 1 对、Gitee 1 对)
打开终端 / Git Bash:
# 1) 生成 GitHub 密钥(推荐 ed25519,更安全) ssh-keygen -t ed25519 -C "your-email@example.com" -f ~/.ssh/id_ed25519_github # 2) 生成 Gitee 密钥 ssh-keygen -t ed25519 -C "your-email@example.com" -f ~/.ssh/id_ed25519_gitee-C写你注册 GitHub/Gitee 的邮箱-f指定文件名,避免覆盖默认id_rsa- 提示输密码时可以直接回车(无密码),或设一个密码
执行完,~/.ssh里会有:
id_ed25519_github(私钥,保密)id_ed25519_github.pub(公钥,要上传)id_ed25519_giteeid_ed25519_gitee.pub
二、把公钥分别上传到 GitHub 和 Gitee
GitHub 添加公钥
- 登录 → 右上角头像 →Settings→SSH and GPG keys
- 点New SSH key
- Title:随便写(如「My PC GitHub」)
- Key 内容,复制下面命令输出的全部内容:
cat ~/.ssh/id_ed25519_github.pub - 保存
Gitee 添加公钥
- 登录 → 右上角头像 →设置→SSH 公钥
- 标题:随便写
- 公钥内容:
cat ~/.ssh/id_ed25519_gitee.pub - 确定
三、核心:创建~/.ssh/config文件(自动切换密钥)
# 新建/编辑 config 文件 touch ~/.ssh/config把下面内容完整复制进去(Windows 路径写法一样,Git Bash 会识别):
# GitHub Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519_github IdentitiesOnly yes # Gitee Host gitee.com HostName gitee.com User git IdentityFile ~/.ssh/id_ed25519_gitee IdentitiesOnly yesIdentitiesOnly yes:只使用指定私钥,防止串号
四、测试是否生效
# 测试 GitHub ssh -T git@github.com # 测试 Gitee ssh -T git@gitee.com成功提示:
- GitHub:
Hi 用户名! You've successfully authenticated... - Gitee:
Hi 用户名! You've successfully logged in...
五、本地仓库同时关联 GitHub + Gitee(双远程)
进入你的本地仓库:
# 查询远程仓库 git remote -v # 先删掉旧的 origin(如果有的话) git remote remove origin # 添加 GitHub 远程 git remote add github git@github.com:你的用户名/你的仓库.git # 添加 Gitee 远程 git remote add gitee git@gitee.com:你的用户名/你的仓库.git # 查看远程 git remote -v以后推送:
# 推到 GitHub git push github main # 推到 Gitee git push gitee main一键同时推送到两个仓库
git push gitee main && git push github main以后想偷懒,直接设置一键推送
执行一次这条命令:
git remote set-url --add origin git@github.com:用户名/仓库名.git git remote set-url --add origin git@gitee.com:用户名/仓库名.git以后直接:
git pushwindows生成密钥
## 步骤 1:打开终端(任选其一)
1. PowerShell(推荐,Win 自带),普通用户打开即可,**不用管理员**
2. 或者 Git Bash(安装 Git 之后右键文件夹可打开)
## 步骤 2:生成密钥命令
ssh-keygen -t ed25519 -C "xxxx@gitee.com"-t ed25519:现代安全算法,优先推荐
-C:注释,写你的 gitee 绑定邮箱
### 交互提示:**全部直接回车,三次回车**
```
Enter file in which to save the key (C:\Users\你的用户名\.ssh\id_ed25519): 回车
Enter passphrase (empty for no passphrase): 回车 (不设置私钥密码,clone免密)
Enter same passphrase again: 回车
```
>
> 如果想保护私钥,可以设置 passphrase,缺点每次 git 操作要输密码,测试机场景建议直接空。
## 步骤 3:找到公钥,复制全部内容
密钥路径:
```
C:\Users\你的用户名\.ssh\id_ed25519.pub
```
- `id_ed25519`:**私钥(绝对不要分享!)**
- `id_ed25519.pub`:**公钥,复制这个文件全部内容**
PowerShell 直接打印公钥(方便复制):
```
cat ~/.ssh/id_ed25519.pub
```
输出是以 `ssh-ed25519` 开头的一长串字符串,**整行完整复制**,不要多出换行空格。
## 步骤 4:添加公钥到 Gitee 网页
1. 登录 Gitee → 右上角头像【设置】
2. 左侧【安全设置】→【SSH 公钥】
3. 标题随便写:`Windows-PC`
4. 公钥框粘贴刚刚复制的整串内容,保存,验证账号密码。
## 步骤 5:验证连通性(关键!)
PowerShell 执行:
```
ssh -T git@gitee.com
```
成功提示:`Hi lihao55555! You've successfully authenticated`