Git 的核心用法和常见操作指南:
编辑
27
2025-02-21
Git 是目前最流行的分布式版本控制系统,广泛用于软件开发协作。以下是 Git 的核心用法和常见操作指南:
一、Git 核心概念
仓库 (Repository)
存储代码的历史记录和版本快照。
分为本地仓库 (
local
) 和远程仓库 (remote
)(如 GitHub)。
提交 (Commit)
记录代码变更的快照,包含作者信息、时间戳和变更内容。
每个提交都有一个唯一的哈希值(如
commit abc123
)。
分支 (Branch)
并行开发的独立线路,用于隔离功能开发。
默认分支为
main
或master
。
合并 (Merge)
将不同分支的代码整合到一起。
拉取 (Pull)
从远程仓库获取最新代码并合并到本地。
推送 (Push)
将本地代码上传到远程仓库。
二、常用命令速查表
三、分支管理(核心!)
1. 创建与切换分支
# 创建新分支
git branch new-feature
# 切换到新分支
git checkout new-feature
# 或简化为一行
git checkout -b new-feature
2. 合并分支
(1) Merge 方式(保留合并记录)
# 切换回主分支
git checkout main
# 合并 new-feature 分支
git merge new-feature
# 提交合并结果
git commit -m "Merge new-feature"
(2) Rebase 方式(保持线性历史)
# 在 new-feature 分支上变基到 main
git checkout new-feature
git rebase main
# 切换回 main 并合并
git checkout main
git merge new-feature
3. 分支冲突解决
当合并时出现冲突,需手动编辑冲突文件:
# 标记冲突已解决
git add conflicted-file.txt
# 提交合并结果
git commit -m "Resolved conflict"
四、远程仓库操作
1. 关联远程仓库
git remote add origin <仓库URL> # 添加远程仓库
git remote -v # 查看远程仓库列表
2. 拉取与推送
# 拉取所有分支
git fetch origin
# 拉取指定分支并合并
git pull origin main
# 推送本地分支到远程
git push origin main
五、高级技巧
1. 标签 (Tag)
为重要版本打标签:
# 创建轻量标签(如 v1.0)
git tag v1.0
# 创建附注标签(含信息)
git tag -a v1.0 -m "Release version 1.0"
# 推送标签到远程
git push origin --tags
2. 查看提交历史
# 查看最近 3 次提交
git log -3
# 查看特定文件的修改记录
git log --follow filename.txt
3. 撤销操作
撤销未提交的修改:
git reset HEAD file.txt # 撤销单个文件的修改 git checkout . # 撤销所有未提交修改
撤销已提交的提交:
git revert commit-id # 创建新提交撤销旧提交 git reset --hard commit-id # 强制回退到指定提交(谨慎使用!)
六、协作流程(Git Flow 示例)
开发新功能:
git checkout -b feature-x # 编写代码并提交 git add . git commit -m "Add feature x"
同步主分支:
git checkout main git pull origin main
合并功能分支:
git merge feature-x git push origin main
七、常见问题与解决
1. 推送被拒绝
错误提示:! [rejected] main -> main (non-fast-forward)
解决方法:
# 先拉取最新代码
git pull origin main
# 再尝试推送
git push origin main
2. 忘记关联远程仓库
解决方法:
git remote add origin <仓库URL>
git branch -u origin main # 关联主分支
3. 文件冲突
解决步骤:
手动编辑冲突文件。
执行
git add <file>
标记解决。提交合并:
git commit -m "Resolved conflict"
。
八、推荐学习资源
官方文档:Git SCM
书籍:《Pro Git》(免费电子书)
在线课程:GitHub Learning Lab
通过掌握以上操作,你可以高效管理代码版本、协作开发并避免常见陷阱。如果有具体场景或问题,欢迎进一步讨论! 😊
- 0
- 0
-
分享