尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Git 学习进阶

Git 学习进阶 Git 是一个分布式版本控制系统用于跟踪文件变化、协作开发和管理代码历史。它是现代软件开发中最常用的工具之一。Git 的核心作用版本管理记录每一次修改可以随时回溯到历史版本。多人协作多个开发者可以同时工作合并彼此的代码。分支开发可以创建独立分支开发新功能不影响主代码。代码安全分布式架构让每个开发者都有完整的仓库副本。基本概念概念说明仓库Repository存放项目文件及历史记录的地方提交Commit一次版本快照分支Branch独立的开发线合并Merge将不同分支的修改合并远程仓库Remote托管在服务器上的仓库如 GitHub、GitLab工作区 / 暂存区编辑文件的地方 / 暂存要提交的修改常用命令# 初始化仓库 git init # 克隆远程仓库 git clone 仓库地址 # 查看状态 git status # 添加文件到暂存区 git add 文件名 # 添加指定文件 git add . # 添加所有修改 # 提交 git commit -m 提交说明 # 查看提交历史 git log --oneline # 创建并切换分支 git checkout -b 分支名 # 切换分支 git checkout 分支名 # 合并分支 git merge 分支名 # 拉取远程更新 git pull # 推送到远程 git push origin 分支名 # 查看远程仓库地址 git remote -v一、下载 Git1. 官方下载可能较慢官网地址Redirecting…根据操作系统选择对应版本。2. 国内镜像推荐速度快淘宝 npmmirror 镜像Windows 版CNPM Binaries Mirror选择最新版本下载Git-xxx-64-bit.exe或Git-xxx-32-bit.exe。华为云镜像Index of git-for-windows-local腾讯软件源https://mirrors.cloud.tencent.com/git-for-windows/3. 安装配置用户名和邮箱打开终端Windows 用 Git Bash执行git config --global user.name 你的名字 git config --global user.email 你的邮箱example.com --global 表示全局配置对所有仓库生效。如果想对单个仓库单独配置去掉 --global 并在该仓库目录下执行。 ssh-keygen -t ed25519 -C 你的邮箱example.com 一路回车即可这样生成的是ssh公钥方便后续配置注意公钥的位置4. 查看配置git config --list或单独查看git config user.name git config user.email流程概述从master创建个人feature分支。在feature分支上进行开发并提交。开发期间定期将master的最新更新同步到feature分支避免合并时冲突过多。推送feature分支到远程仓库。在代码托管平台GitHub/GitLab发起Pull Request / Merge Request请求将feature分支合并到master。管理人员或同事进行代码审查讨论并可能要求修改。审查通过后由有权限的人将feature分支合并到master。详细操作步骤1. 创建自己的 feature 分支# 切换到 master 分支 git checkout master # 拉取远程 master 的最新代码 git pull origin master # 从 master 创建并切换到新的 feature 分支 git checkout -b feature/your-feature-name 分支命名建议feature/xxx、fix/xxx、hotfix/xxx 等清晰表达分支用途。2. 在 feature 分支上开发# 查看修改状态 git status # 添加修改到暂存区 git add . # 提交到本地仓库 git commit -m feat: 添加了某个功能 提交信息建议遵循规范如 feat:、fix:、docs: 等便于阅读和生成 changelog。3. 同步 master 最新代码到 feature 分支在开发过程中master分支可能被其他人更新。为了避免最终合并时出现大量冲突需要定期将master的最新提交合并到自己的feature分支。方式一使用 merge推荐# 确保当前在 feature 分支 git checkout feature/your-feature-name # 拉取远程 master 最新代码 git fetch origin master # 将 master 合并到当前分支 git merge origin/master如果有冲突Git 会提示手动解决冲突后git add . git commit -m merge: 同步 master 最新代码方式二使用 rebase保持线性历史git checkout feature/your-feature-name git fetch origin master git rebase origin/master注意rebase 会改写提交历史如果该 feature 分支只有你一个人使用可以安全使用如果多人共用同一个 feature 分支不要使用 rebase否则会破坏他人的工作。 推荐使用 merge因为更安全不会改写历史。4. 推送 feature 分支到远程仓库git push origin feature/your-feature-name 如果是第一次推送该分支 git push -u origin feature/your-feature-name5. 发起合并请求Pull Request / Merge RequestGitHub在仓库页面点击 “Pull requests” → “New pull request”选择base: master和compare: feature/your-feature-name填写标题和描述然后创建。GitLab点击 “Merge Requests” → “New merge request”选择源分支和目标分支填写信息后提交。在描述中建议说明实现了什么功能 / 修复了什么问题涉及的模块或文件测试情况是否需要特别注意的事项6. 代码审查与修改审查者会在 PR/MR 中提出评论。你可能需要根据反馈进行修改# 在本地 feature 分支上修改代码 git add . git commit -m fix: 根据审查意见修改 # 推送到远程同一个分支 git push origin feature/your-feature-name 新的提交会自动出现在 PR/MR 中无需重新发起。7. 合并到 master审查通过后通常由项目管理员或具有权限的成员执行合并在 GitHub/GitLab 页面上点击 “Merge pull request” / “Merge”。可以选择合并方式Create a merge commit保留分支的完整历史。Squash and merge将 feature 分支上的所有提交压缩成一个提交再合并使 master 历史更简洁。Rebase and merge将 feature 分支的提交变基到 master 上保持线性历史。合并完成后可以删除远程和本地的 feature 分支# 删除远程分支 git push origin --delete feature/your-feature-name # 删除本地分支 git checkout master git branch -d feature/your-feature-name注意事项与最佳实践保持 feature 分支与 master 同步不要等到最后才同步否则冲突会堆积。一个分支只做一件事避免在一个 feature 分支中包含多个不相关的功能。提交信息清晰方便审查者理解每个提交的意图。不要直接在 master 上开发始终通过分支和 PR/MR 合并。使用.gitignore避免提交不必要的文件如编译产物、本地配置。保护 master 分支在 GitHub/GitLab 中设置 master 分支保护禁止直接推送要求 PR 审查。定期清理已合并的分支保持仓库整洁。
返回列表