注释:这里的“搞定了它”是对“Git It”的通俗翻译,旨在表达理解和掌握Git的意思。同时,为了更符合中文的口语习惯,我们将原标题中的“I Hope You”简化为“希望你”,使得标题更加简洁明了。
什么是 Git?简介你是否曾经希望自己有一台代码时间穿梭机?Git 就是这样的存在!Git 是一个强大的 版本控制工具,它充当你的代码的私人历史记录员,记录每一次更改,促进团队合作,并为你的开发之旅提供安全保护。
💡 为什么 Git 对现代开发很重要(这是一张图片,点击图片可查看大图)
在当今快节奏的发展世界中,Git已经变得非常必要,因为它。
- 🔄 跟踪代码库中的每一次变更
- 👥 让团队成员之间的协作更加无缝
- 🔙 支持回退到以前版本
- 🌿 支持通过分支实现并行开发
- 🔒 确保代码的安全性和备份
🎯 通过现实生活中的类比来理解 Git
这是一张图片链接。
📚 图书馆类比
想象 Git 就像一个神奇的图书馆,其中,比如说:
- 每个项目的版本(迭代)无限
- 多个作者可以同时编写不同的章节
- 你可以创建实验版本而不影响原始版本
- 每次修改都会记录作者和时间戳
- 你可以将不同的版本合并成一本完美的作品
Git 架构:搭建的基础
1. 📂 工作文件夹
这是你的当前工作区,在这里你可以:
- 新建文件
- 修改现有的代码
- 删除不必要的部分
- 测试更改
2. 📋 准备区(索引)
这里就是你项目的缓冲区,在这里你的项目等待进一步处理。
- 变更已经准备好,可以提交了
- 在永久记录之前,文件会被仔细检查
- 你可以把多个变更分组,使之更有逻辑性
3. 📚 本地及远程仓库.
您的项目数据库中包含:
- 所有变更的完整历史记录
- 每个文件的各个版本
- 所有分支和标签的信息
- 谁进行了哪些更改及更改时间的元数据信息
...
🔄 Git 工作流:一天的日常 点击链接查看图片
1. 🌅 早晨—开启你的一天
# 拉取最新代码
git pull origin main
# 切换到新功能分支
git checkout -b feature/awesome-new-feature
进入全屏 退出全屏
2. ☀️ 开发中.
# 查看你做了哪些修改
git status
# 查看 git 差异
git diff
# 暂存你的修改
git add .
# 提交你的修改
git commit -m "添加了一个超级棒的新功能"
全屏 退出全屏
3. 🌆 日落时刻
# 推送你的工作
git push origin feature/awesome-new-feature
# 暂存任何未完成的更改
git stash save "未完成的更改"
全屏模式 退出全屏
略
📘 高级 Git 技巧1. 🌳 分支策略(例如Git分支)
- 主分支/主干分支:用于生产的就绪代码
- 开发分支:功能集成用的分支
- 功能分支:新功能开发的独立分支
- 热修复分支:解决生产问题的快速修复分支
2. 🔄 合并 vs. 变基
# 合并分支到主分支
git checkout main
git merge feature/new-feature
# 使用 rebase 使提交历史更整洁
git checkout feature/new-feature
git rebase main
注释:第一个部分是将功能分支合并到主分支,第二个部分是通过 rebase 使提交历史更整洁。
全屏模式;退出全屏
3. 🏷️ 标签和发布内容
# 创建一个新的版本标签
git tag -a v1.0.0 -m "版本 1.0.0 发布"
# 推送标签到远程
git push origin --tags
全屏模式 退出全屏
……
🛠️ 最佳做法和实用技巧1. 📝 提交信息 (commit信息)
- 写清楚且描述性的提交信息
- 使用现在时态(如“添加功能”而不是“添加了功能”)
- 如有需要,引用问题编号
- 保持信息简洁但有实质内容
2.: 分店管理
- 保持分支简短且具有明确目的
- 删除已合并的分支以保持代码整洁
- 使用描述性的分支名称,例如 feature/、hotfix/ 等
- 定期与主分支同步更新
3. 🔍 代码检视
- 在推送代码前审查更改
- 用拉取请求来进行团队合作
- 在代码审查时加入有意义的评论
- 合并前要测试更改
此处省略
🆘 常见的 Git 场景及其解决方案
[]
1. 🔄 撤销改动
# 回退上次提交但保留更改(这样你的更改还在工作目录中)
git reset --soft HEAD^
# 彻底回退上一次提交
git reset --hard HEAD^
# 回退特定的提交
git revert commit-hash
全屏模式,退出全屏
2. 🔀 处理分歧
# 当有冲突时
git status # 检查这些冲突文件
# 手动解决这些冲突
git add . # 标记为解决冲突
git commit -m "解决冲突"
切换到全屏模式 切换回正常模式
📊 Git 快速参考:100 个常用命令
🎯 让我们开始吧
- 🆕
git init
- 初始化一个新的 Git 项目 - 📥
git clone [url]
- 克隆项目到本地 - 🔧
git config --global user.name "[name]"
- 设置你的 Git 用户名,如 '[name]' - 📧
git config --global user.email "[email]"
- 设置你的 Git 邮箱,如 '[email]'
- 📊
git status
- 查看当前状态 - ➕
git add [文件]
- 添加文件到暂存区 - ➕
git add .
- 将所有更改暂存 - 💾
git commit -m "[消息]"
- 提交更改 - 🔄
git pull
- 拉取远程最新更改 - ⬆️
git push
- 推送更改到远程
- 🔍
git branch
- 列出所有分支 - 🎋
git branch [名称]
- 创建新的分支 [名称] - 🚗
git checkout [分支]
- 切换到分支 - 🎉
git merge [分支]
- 合并到分支 - 🗑️
git branch -d [分支]
- 删除分支 - 📋
git branch -v
- 查看每个分支的最近的提交 - 🔄
git checkout -b [分支]
- 创建并切换到新分支 - 📊
git branch --merged
- 列出已合并的分支 - 🚫
git branch --no-merged
- 列出未合并的分支 - 🗂️
git branch -m [旧] [新]
- 重命名分支
- ↩️
git reset [文件]
- 取消暂定一个文件 - 🎯
git reset --hard
- 放弃所有本地更改 - 🎨
git checkout -- [文件]
- 恢复文件到未更改状态 - ⏮️
git reset HEAD~1
- 回退上一次提交 - 🔙
git reset --soft HEAD~1
- 撤销提交,但保留暂存的改动 - 🔄
git revert [提交]
- 创建一个新的提交来撤销该更改 - 🗑️
git clean -f
- 删除未被追踪的文件 - 🗑️
git clean -fd
- 删除未被追踪的文件和目录 - 🔄
git checkout [提交]
- 切换到特定的提交 - 💫
git reset --hard [提交]
- 重置到特定的提交
- 💼
git stash
- 保存更改以备后用 - 📤
git stash pop
- 应用保存的更改 - 📋
git stash list
- 查看所有暂存的更改 - 🗑️
git stash drop
- 清除最近的暂存 - 📥
git stash apply
- 应用暂存但不删除 - 🔍
git stash show
- 查看暂存更改 - 🗑️
git stash clear
- 清除所有暂存更改 - 💾
git stash save "[消息]"
- 创建带有描述的暂存 - 📤
git stash pop stash@{n}
- 应用特定的暂存 - 🔍
git stash show -p
- 查看暂存详细信息
- 📖
git log
- 查看提交记录 - 📊
git log --oneline
- 查看简化的历史 - 👀
git blame [文件]
- 查看谁修改了什么 - 📈
git log --graph
- 以图表查看历史 - 🔍
git log -p [文件]
- 查看特定文件的变更 - 📅
git log --since="[日期]"
- 查看某日期以来的提交记录 - 👤
git log --author="[姓名]"
- 查看特定作者的提交 - 🔢
git log -n [数量]
- 查看一定数量的提交 - 📊
git shortlog
- 汇总提交记录 - 🎨
git log --pretty=format:"%h %an %s"
- 自定义日志
- 🌐
git remote -v
- 列出远程仓库 - ➕
git remote add [name] [url]
- 添加新远程 - ⬆️
git push -u origin [branch]
- 推送分支至远程 - 📥
git fetch
- 获取远程更改(不合并) - 🗑️
git remote remove [name]
- 删除远程 - 🔄
git remote rename [old] [new]
- 重命名远程 - 📥
git pull --rebase
- 拉取并变基 - ⬆️
git push --force
- 强制推送 - 🔍
git remote show [name]
- 查看远程仓库 - 🔄
git fetch --prune
- 清理远程删除分支
- 🏷️
git tag
- 列出所有标签 - ➕
git tag [名称]
- 创建新标签 - 🏷️
git tag -a [名称] -m "[消息]"
- 创建带有注释的标签 - ⬆️
git push origin [标签]
- 推送标签至远程 - 🗑️
git tag -d [名称]
- 删除标签 - 📥
git checkout [标签]
- 切换至特定标签 - 🔍
git show [标签]
- 查看标签信息 - ⬆️
git push --tags
- 推送所有标签至远程 - 🏷️
git tag -l "[模式]"
- 搜索标签名 - 📝
git tag -f [名称]
- 更新现有标签
- 🔄
git rebase [branch]
- 将当前分支变基到 [branch] - 📝
git rebase -i HEAD~[n]
- 交互式变基 - ⏹️
git rebase --abort
- 中止变基 - ✅
git rebase --continue
- 继续变基 - 🎉
git merge --no-ff [branch]
- 创建合并提交 - ⏹️
git merge --abort
- 停止合并 - 🔍
git mergetool
- 打开合并工具 - 🔄
git rebase --onto [new-base]
- 将变基移动到 [new-base] - 🎯
git cherry-pick [commit]
- 将 [commit] 提交复制到当前分支 - 🔄
git rebase --skip
- 跳过当前变基中的提交
- 📊
git diff
- 查看未暂存的更改 - 🔍
git diff --staged
- 查看已暂存的更改 - 📈
git diff [branch1]..[branch2]
- 比较分支 - 👀
git diff [commit1]..[commit2]
- 比较提交 - 📋
git grep [pattern]
- 搜索工作区 - 🔍
git show [commit]
- 查看提交详情 - 📊
git diff --stat
- 查看更改文件统计 - 🔍
git bisect start
- 二分查找错误功能 - 📈
git blame -L [start,end] [file]
- 查看某行更改 - 🔍
git whatchanged [file]
- 查看文件变更
- 🧹
git gc
- 清理不必要的文件,保持仓库整洁 - ✨
git fsck
- 检查仓库的完整性,确保没有损坏 - 🔍
git reflog
- 查看引用日志,了解仓库操作历史 - 🗑️
git prune
- 清理不可达的对象 - 📦
git archive [branch] --format=zip
- 创建zip归档文件,方便备份和分享 - 🔄
git reset --merge
- 合并失败后重置到上一次干净的状态 - 🛠️
git maintenance start
- 启动后台维护任务,自动优化仓库性能 - 💊
git verify-pack -v
- 验证打包对象的完整性 - 🔍
git count-objects -v
- 统计仓库中的对象,了解仓库状态 - 🧹
git clean -fdx
- 删除所有未跟踪的文件,保持仓库干净
🔗 更多
如图所示,点击可查看Imation图片。
"这是一张图片,点击可以查看。"
Git 是每个开发者的必备工具!无论你是单打独斗还是团队协作,掌握好 Git 都将让你的编码之旅更上一层楼 💪🛠️。
这篇帖子是我借助 AI 的帮助撰写的,以增强其内容。
👇 如果这个指南帮助了你,请留言! 🚀🚀 让我们一起 Git 吧!
共同學習,寫下你的評論
評論加載中...
作者其他優質文章