文章目录
- mkdir git-demo && cd git-demo git init # 初始化仓库 echo “# Git实战项目” > README.md
- # calculator.py def add(a, b): “””加法函数””” return a + b # 测试用例 if __name__ == “__main__”: print(add(2, 3)) # 注意这里有语法错误,后面演示修复 git add calculator.py # 跟踪单个文件 git add . # 添加所有新文件和修改 git status # 查看当前状态
- git commit -m “feat: 实现基础加法函数” git log –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit
- git checkout -b feature/subtract # 创建并切换分支 # calculator.py 新增 def subtract(a, b): “””减法函数””” return a – b git commit -am “feat: 添加减法功能” # -a参数自动add已跟踪文件
- git checkout main git merge feature/subtract # 快速向前合并 # 模拟冲突 # 在两个不同分支修改同一行代码后… git merge feature/divide “”” Auto-merging calculator.py CONFLICT (content): Merge conflict in calculator.py “”” 使用VSCode解决冲突后: git add calculator.py git commit -m “fix: 解决合并冲突”
- git commit –amend # 修改最近提交 git rebase -i HEAD~3 # 交互式变基
- git stash # 暂存当前修改 git checkout -b hotfix/urgent # 进行修复… git commit -m “fix: 紧急修复登录问题” git checkout main git merge hotfix/urgent git stash pop # 恢复暂存修改
- # ~/.gitconfig [alias] lol = log –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ st = status -sb co = checkout [core] excludesfile = ~/.gitignore_global # 全局忽略文件
目录
- 一、Git核心概念解析
- 二、环境搭建与配置
- 1. 安装Git(Windows示例)
- 2. 基础配置(必须)
- 三、Git实战全流程演示
- 1. 项目初始化
- 2. 文件生命周期管理
- 3. 提交与历史查看
- 四、分支管理实战
- 1. 功能分支开发
- 2. 合并与冲突解决
- 五、远程协作流程
- 1. 连接远程仓库
- 2. 团队协作规范
- 六、高级技巧提升效率
- 1. 重写提交历史
- 2. 紧急修复流程
- 3. 定制化配置
- 七、企业级最佳实践
- 八、常见问题排错指南
Git作为分布式版本控制系统,其核心机制值得深入理解:
工作区与暂存区:
- 工作区:直接编辑文件的目录
- 暂存区:临时保存改动的缓存区域
- 版本库:永久存储的提交历史
三大状态转换:
- Modified → Staged(git add)
- Staged → Committed(git commit)
- Committed → Published(git push)
# 下载地址:https://git-scm.com/download/win
# 安装时建议勾选"Git Bash Here"和"Enable symbolic links"
git config --global user.name "YourName"
git config --global user.email "your@email.com"
git config --global core.autocrlf input # 处理换行符
git config --global core.editor "code --wait" # 使用VSCode作为默认编辑器
mkdir git-demo && cd git-demo
git init # 初始化仓库
echo "# Git实战项目" > README.md
# calculator.py
def add(a, b):
"""加法函数"""
return a + b
# 测试用例
if __name__ == "__main__":
print(add(2, 3)) # 注意这里有语法错误,后面演示修复
git add calculator.py # 跟踪单个文件
git add . # 添加所有新文件和修改
git status # 查看当前状态
git commit -m "feat: 实现基础加法函数"
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
git checkout -b feature/subtract # 创建并切换分支
# calculator.py 新增
def subtract(a, b):
"""减法函数"""
return a - b
git commit -am "feat: 添加减法功能" # -a参数自动add已跟踪文件
git checkout main
git merge feature/subtract # 快速向前合并
# 模拟冲突
# 在两个不同分支修改同一行代码后...
git merge feature/divide
"""
Auto-merging calculator.py
CONFLICT (content): Merge conflict in calculator.py
"""
使用VSCode解决冲突后:
git add calculator.py git commit -m "fix: 解决合并冲突"
git remote add origin https://gitee.com/yourname/git-demo.git
git push -u origin main # 首次推送设置上游分支
# 推荐工作流程
git checkout -b feature/new-feature # 新功能开发
git push origin feature/new-feature # 推送功能分支
# 在代码平台发起Pull Request
git commit --amend # 修改最近提交
git rebase -i HEAD~3 # 交互式变基
git stash # 暂存当前修改
git checkout -b hotfix/urgent
# 进行修复...
git commit -m "fix: 紧急修复登录问题"
git checkout main
git merge hotfix/urgent
git stash pop # 恢复暂存修改
# ~/.gitconfig
[alias]
lol = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
st = status -sb
co = checkout
[core]
excludesfile = ~/.gitignore_global # 全局忽略文件
提交消息规范:
feat: 添加用户注册功能 fix: 修复登录验证漏洞 docs: 更新API文档 chore: 更新依赖版本 refactor: 重构支付模块
分支策略:
- main:生产环境代码
- develop:集成测试分支
- feature/*:功能开发分支
- release/*:预发布分支
- hotfix/*:紧急修复分支
代码审查:
- 使用Pull Request机制
- 启用CI/CD流水线
- 设置代码质量门禁
- 误提交大文件:
git filter-branch --tree-filter 'rm -f bigfile.zip' HEAD
git push origin --force
- 撤销错误修改:
git reset --soft HEAD~1 # 撤销提交但保留修改
git checkout -- file.txt # 丢弃工作区修改
- 恢复删除分支:
git reflog # 查找删除前的commit hash
git checkout -b recovered-branch <commit_hash>
附:完整的.gitignore模板:
# 操作系统文件 .DS_Store Thumbs.db # 开发环境 .env node_modules/ dist/ # IDE .vscode/ .idea/ # 编译文件 *.class *.exe *.dll
通过本指南的实践操作,开发者可以系统掌握Git的核心用法,适应从个人开发到团队协作的各种场景。建议在实际项目中不断练习,遇到问题善用git --help和官方文档查询解决方案。
以上就是Git版本控制的实战指南的详细内容,更多关于Git版本控制的资料请关注风君子博客其它相关文章!
您可能感兴趣的文章:
- 在VSCode中使用Git进行版本控制的实现步骤
- IDEA中git对于指定文件进行版本控制的全过程
- IDEA项目如何取消git版本管控并添加svn版本控制
- 使用Git进行版本控制的实践分享