git 入门
git 入门
以下是 Git 从基础到精通的详细实例教程,涵盖版本控制全流程和高级技巧,配合具体操作示例:
一、Git 基础操作
- 初始化仓库
# 创建新目录并初始化
mkdir my-project && cd my-project
git init
- 首次提交
# 创建文件并提交
echo "# My Project" > README.md
git add README.md
git commit -m "Initial commit"
- 查看状态与历史
git status # 查看工作区状态
git log --oneline --graph # 简洁版提交历史
二、分支管理实战
- 创建与切换分支
git branch feature/login # 创建分支
git checkout feature/login # 切换分支
# 或简写:
git switch -c feature/login
- 合并分支(含冲突解决)
# 模拟冲突
echo "console.log('Login');" > login.js
git add . && git commit -m "Add login function"
git switch main
echo "console.log('Home');" > login.js
git add . && git commit -m "Update home page"
# 合并并解决冲突
git merge feature/login
# 冲突文件会显示:
<<<<<<< HEAD
console.log('Home');
=======
console.log('Login');
>>>>>>> feature/login
# 手动修改后提交
git add login.js
git commit -m "Resolve merge conflict"
- 变基(Rebase)操作
git switch feature/login
git rebase main
# 若出现冲突,解决后:
git add .
git rebase --continue
三、远程仓库协作
- 关联远程仓库
git remote add origin https://github.com/user/repo.git
git push -u origin main
- 多人协作流程
# 拉取最新代码
git pull --rebase origin main
# 推送分支
git push origin feature/login
# 创建PR后更新本地
git fetch origin
git rebase origin/main
四、高级技巧
- 交互式暂存(Interactive Add)
git add -p # 分块选择修改
- 修改历史提交
# 修改最近一次提交
git commit --amend -m "New message"
# 交互式变基(修改多个提交)
git rebase -i HEAD~3
# 弹出编辑器,将pick改为edit/r/reword等
- 暂存与恢复工作现场
git stash # 暂存当前修改
git stash list # 查看暂存列表
git stash pop # 恢复最近暂存
git stash apply stash@{1} # 恢复指定暂存
五、故障处理
- 撤销更改
# 撤销工作区修改
git checkout -- file.txt
# 撤销暂存区修改
git reset HEAD file.txt
# 回退到指定提交
git reset --hard commit_hash
- 找回删除的分支
# 查看历史引用记录
git reflog
# 恢复分支
git branch recovered-branch commit_hash
六、Git 配置优化
- 全局配置
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'"
git config --global core.editor "code --wait" # 设置VSCode为默认编辑器
- 忽略文件配置(.gitignore)
# 示例内容
node_modules/
*.log
.DS_Store
七、完整工作流示例
场景:开发新功能并提交PR
# 1. 拉取最新代码
git pull origin main
# 2. 创建功能分支
git switch -c feature/search
# 3. 开发并提交
echo "function search() {}" > search.js
git add .
git commit -m "Implement search function"
# 4. 推送分支
git push -u origin feature/search
# 5. 在GitHub创建PR后,继续开发...
git add .
git commit -m "Add search filters"
git push
# 6. 代码审查后合并
git switch main
git pull
git branch -d feature/search
八、Git 内部原理
- Git 对象模型
# 查看对象内容
git cat-file -p HEAD # 查看提交对象
git ls-tree HEAD # 查看树对象
git cat-file -p blob_hash # 查看文件内容
- 引用日志(Reflog)
git reflog show HEAD
九、图形化工具推荐
命令行增强:
tig:交互式Git浏览器
lazygit:终端UI工具
GUI工具:
GitHub Desktop
GitKraken
Sourcetree
十、学习路径建议
新手阶段:
掌握add/commit/push/pull基础操作
理解工作区/暂存区/仓库的概念
中级阶段:
熟练使用分支与合并
学会解决冲突
高级阶段:
掌握rebase/stash/reflog等高级操作
理解Git内部原理
通过以上实例练习,你可以逐步从Git新手成长为版本控制专家。关键是多实践,遇到问题善用git --help和搜索引擎排查。

浙公网安备 33010602011771号