Git速查手册:基础与高级操作指南

需积分: 10 4 下载量 5 浏览量 更新于2024-07-15 收藏 1.12MB PDF 举报
"Git速查手册.pdf" Git是一个分布式版本控制系统,用于跟踪文件和目录的更改,便于多人协作开发。这份Git速查手册涵盖了Git的基本操作和高级特性,旨在帮助用户快速理解和掌握Git的使用。 ## 安装Git 在不同的操作系统上安装Git的方法有所不同。在Windows上,可以下载并安装Git的图形界面版或命令行工具;在macOS和Linux系统中,通常可以通过包管理器进行安装。确保安装完成后,可以在终端或命令提示符中运行`git --version`来验证Git是否已正确安装。 ## 创建版本库 创建一个新的Git版本库,可以使用`git init`命令。这会在当前目录下初始化一个新的Git仓库,包含一个隐藏的`.git`子目录,用于存储版本信息。 ## 版本回退 Git提供了多个命令用于版本回退,如`git log`显示提交历史,`git checkout`切换到特定版本,以及`git reset`将HEAD指针移动到指定提交。`git reset --hard`命令会强制回退到某个版本,并丢弃所有未提交的本地更改。 ## 工作区和暂存区 工作区是用户直接编辑文件的地方,暂存区(Stage)则是一个临时区域,用于准备下一次提交。使用`git add`将文件添加到暂存区,`git commit`则将暂存区的更改提交到版本库。 ## 管理修改 `git status`用来查看工作区和暂存区的状态,哪些文件被修改、新增或删除。`git diff`可查看未暂存的更改,`git diff --staged`则显示已暂存的更改。 ## 撤销修改 如果想撤销未提交的更改,`git checkout -- file`能恢复文件到上次提交的状态。若要撤销最近的提交,可以使用`git reset --soft HEAD~1`,`--mixed`或`--hard`根据需要保留或丢弃更改。 ## 删除文件 使用`git rm`命令可以删除文件,并将其从版本库中移除。如果只想从工作区删除但保留版本库中的文件,需加上`--cached`选项。 ## 远程仓库 远程仓库是存储项目备份和协作的地方。通过`git remote add origin <url>`添加远程仓库,`git push -u origin master`首次推送本地master分支到远程的origin仓库。 ## 创建与合并分支 `git branch`用于创建和管理分支,`git checkout -b <branch_name>`创建并切换到新分支。完成工作后,用`git merge <branch>`将分支合并到当前分支。 ## 解决冲突 当两个分支对同一文件的同一部分进行了不同更改时,合并会产生冲突。手动解决冲突后,用`git add <conflict_file>`将解决后的文件加入暂存区,再`git commit`完成合并。 ## 分支管理策略 常见的分支策略包括:主分支(master或main),开发分支(develop),特性分支(feature),发布分支(release),以及修复分支(hotfix)。每个分支都有特定的用途和生命周期。 ## Bug分支 当发现生产环境的bug时,可以从主分支创建一个bug分支,修复后合并回主分支。 ## Feature分支 开发新功能时,应在feature分支上进行,完成后合并到开发分支,经过测试后再合并到主分支。 ## 多人协作 多人协作时,定期使用`git fetch`获取远程仓库的最新状态,`git pull`则拉取并自动合并。使用`git rebase`可以整理提交历史,使其更整洁。 ## Rebase变基 `git rebase`允许将一个分支的提交顺序重新排列在另一个分支之上,使历史线更简洁。注意,在公开分支上直接rebase可能导致混乱,因此通常只在私有分支上使用。 ## 标签管理 创建标签`git tag <tag_name>`,操作标签如`git tag -a <tag_name> -m "message"`(添加注释)和`git tag -d <tag_name>`(删除标签)。`git push origin <tag_name>`将标签推送到远程仓库。 ## Git撤回已推送的提交 如果错误地推送了提交,可以使用`git revert <commit_hash>`创建一个反向提交,然后正常推送。对于已推送的分支,谨慎使用`git reset --hard`,因为它可能影响其他协作者。 ## 其他命令 Git还提供了许多其他命令,例如`git blame`追踪每一行代码的最后修改者,`git bisect`用于查找引入问题的提交,以及`git clean`删除未跟踪的文件。 Git是一个强大的工具,深入理解和熟练掌握其各种命令能显著提高开发效率。通过不断实践和查阅文档,可以更好地利用Git进行版本控制和团队协作。