Git操作指南:面试必备60个常用命令

需积分: 0 0 下载量 185 浏览量 更新于2024-08-04 收藏 17KB DOCX 举报
"Git是版本控制系统,用于跟踪代码的变化,便于团队协作和代码管理。本文提供了60道Git常用命令的面试题,旨在帮助开发者熟悉和掌握Git的基础操作,包括配置、版本控制、分支管理和协作等关键技能。无论你是Git的新手还是老手,都可以通过这些题目来检验和提升自己的Git水平。" Git是分布式版本控制系统,它的强大之处在于能够追踪文件和目录的变更历史,方便团队成员协同工作。以下是一些Git的基础知识和常用命令: 1. **配置操作**: - 全局配置:`git config --global user.name '你的名字'` 和 `git config --global user.email '你的邮箱'` 用于设置用户信息,全局配置适用于所有仓库。 - 局部配置(仅限当前仓库):同全局配置,但使用 `--local` 替换 `--global`。 - 查看配置:`git config --global --list` 和 `git config --local --list` 分别显示全局和局部配置。 - 删除配置:使用 `git config --unset--global` 和 `git config --unset--local` 可以删除相应的配置项。 2. **本地操作**: - `git status` 显示当前仓库的文件状态,如新增、修改或删除。 - `git add .` 将所有变更添加到暂存区,`git add A` 添加所有文件,包括新建和删除的。 - `git add 文件1 文件2 文件3` 用于将特定文件添加到暂存区。 - `git diff` 用来比较工作区与暂存区的差异,其他变体如 `git diff 文件`,`git diff --cached` 和 `git diff HEAD 文件` 分别对比不同状态的差异。 - `git commit` 创建一个新的提交,记录当前暂存区的状态。 3. **文件恢复与撤销**: - `git checkout 文件1 文件2 文件3` 用于将工作区的文件恢复到暂存区状态。 - `git reset 文件1 文件2 文件3` 将暂存区的文件还原到HEAD(最新提交)状态。 - `git reset --hard` 强制重置工作区和暂存区到HEAD,小心使用,因为会丢弃未提交的变更。 4. **查看文件状态**: - `git ls-files --others` 列出未被Git管理的文件。 - `git stash` 用于保存当前工作区的未提交变更,以便切换任务。 - `git stash pop` 或 `git stash apply` 取回并应用stash中的变更,`pop` 不保留stash,`apply` 则保留。 5. **提交历史与差异比较**: - `git difftool 提交1 提交2` 使用图形化工具比较两个提交之间的差异。 - `git log` 查看提交历史,可以结合 `--pretty` 参数进行格式化。 - `git reflog` 查看所有操作的历史,有助于找回丢失的提交。 6. **分支管理**: - `git branch` 列出所有分支,`git branch -d 分支名` 删除分支。 - `git checkout -b 新分支` 创建并切换到新分支。 - `git merge 分支名` 合并指定分支到当前分支。 7. **远程操作**: - `git clone 地址` 克隆远程仓库。 - `git remote add origin 地址` 添加远程仓库。 - `git push origin 分支名` 推送本地分支到远程仓库。 - `git pull origin 分支名` 拉取远程分支并合并到本地。 8. **解决冲突**: - 当合并时发生冲突,Git会在冲突文件中插入标记,手动编辑解决冲突后,再提交。 9. **其他高级操作**: - `git rebase 分支名` 用于将当前分支的变更合并到另一个分支之上,通常用于保持分支线性历史。 - `git cherry-pick 提交哈希` 将一个特定的提交应用到当前分支。 - `git blame 文件` 查看每一行是谁在何时修改的。 通过理解和熟练掌握这些Git命令,开发者可以在日常开发工作中高效地管理代码版本,有效地协作,并在面试中展现出扎实的Git技能。同时,不断学习和实践Git的高级特性,如子模块、工作流等,将有助于进一步提升开发效率和团队合作质量。