git代码

1. Git 基础概念

仓库(Repository):存储代码和版本历史的地方,可以是本地或远程(如 GitHub、GitLab)。

提交(Commit):保存代码变更的快照,包含唯一哈希值(如 `a1b2c3d`)。

分支(Branch):独立开发线,默认分支通常是 `main` 或 `master`。

远程(Remote):托管在服务器上的仓库(如 `origin` 指向 GitHub)。

工作区(Working Directory):本地文件系统上的代码。

暂存区(Staging Area):准备提交的变更(`git add` 后进入暂存区)。

 

---

2. Git 基本命令

初始化 & 克隆仓库

| 命令 | 说明 |

|------|------|

| `git init` | 在当前目录初始化新仓库 |

| `git clone <仓库URL>` | 克隆远程仓库到本地 |

 

示例:

```bash

git clone https://github.com/user/repo.git

cd repo

 

 

提交代码

| 命令 | 说明 |

| `git status` | 查看文件变更状态 |

| `git add <文件名>` | 将文件加入暂存区 |

| `git add .` | 添加所有变更到暂存区 |

| `git commit -m "提交信息"` | 提交暂存区的变更 |

| `git log` | 查看提交历史 |

 

示例:

```bash

git add index.html

git commit -m "更新首页样式"

 

分支管理

| 命令 | 说明 |

|------|------|

| `git branch` | 查看所有分支 |

| `git branch <分支名>` | 创建新分支 |

| `git checkout <分支名>` | 切换到分支 |

| `git switch <分支名>` | (Git ≥ 2.23)切换分支 |

| `git merge <分支名>` | 合并分支到当前分支 |

| `git branch -d <分支名>` | 删除分支 |

 

示例:

```bash

git branch feature-login # 创建新分支

git switch feature-login # 切换到该分支

# 修改代码后...

git add .

git commit -m "添加登录功能"

git switch main # 切换回主分支

git merge feature-login # 合并分支

```

 

---

远程仓库操作

| 命令 | 说明 |

|------|------|

| `git remote -v` | 查看远程仓库地址 |

| `git push origin <分支名>` | 推送本地分支到远程 |

| `git pull origin <分支名>` | 拉取远程分支更新 |

| `git fetch` | 获取远程变更(不自动合并) |

 

示例:

```bash

git push origin main # 推送 main 分支到远程

git pull origin main # 拉取远程 main 分支更新

```

 

---

 

撤销变更

| 命令 | 说明 |

|------|------|

| `git restore <文件名>` | 丢弃工作区未暂存的变更 |

| `git reset --hard HEAD` | 重置工作区和暂存区到最后一次提交 |

| `git revert <commit-hash>` | 撤销某个提交(生成新提交) |

 

示例:

```bash

git restore script.js # 放弃 script.js 的修改

git reset --hard HEAD # 彻底回退到最后一次提交

```

 

---

 

3. Git 工作流示例

### **场景:修复 Bug 并提交**

1. 拉取最新代码

   ```bash

   git pull origin main

   ```

2. 创建新分支

   ```bash

   git branch fix-bug

   git switch fix-bug

   ```

3. 修改代码并提交

   ```bash

   git add .

   git commit -m "修复登录页面的错误"

   ```

4. 推送分支到远程

   ```bash

   git push origin fix-bug

   ```

5. 在 GitHub/GitLab 提交 Pull Request(PR)

   → 等待代码审查后合并到 `main` 分支。

 

---

 

4. 高级 Git 技巧

- `.gitignore`:忽略不需要版本控制的文件(如 `node_modules/`、`.env`)。

- `git stash`:临时保存未提交的变更,切换分支时使用。

- git rebase`:优化提交历史(比 `merge` 更清晰)。

- git tag`:标记重要版本

 

---

 

5. 常见问题

Q1: 提交了错误的文件怎么办?

```bash

git reset HEAD~1 # 撤销最后一次提交(保留修改)

git commit -m "新的提交" # 重新提交

```

Q2: 如何强制覆盖本地代码?

```bash

git fetch origin

git reset --hard origin/main # 强制同步远程 main 分支

```

 

---

 

6. 学习资源

- 官方文档:[git-scm.com](https://git-scm.com/)

- 交互式学习:[Learn Git Branching](https://learngitbranching.js.org/)

- GitHub Guides:[GitHub Guides](https://guides.github.com/)

 

---

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值