Git基础操作与面试必备知识

需积分: 20 1 下载量 23 浏览量 更新于2024-08-05 收藏 422KB PDF 举报
"Git常用命令面试题" Git是一个分布式版本控制系统,用于跟踪文件和目录的更改。在面试中,了解和熟练使用Git的基本命令是至关重要的。以下是一些Git的常用命令,涵盖了配置、本地操作、分支管理和合并等方面: 1. **配置**: - 全局配置:`git config --global user.name '你的名字'` 和 `git config --global user.email '你的邮箱'` 用于设置全局的用户名和邮箱,适用于所有仓库。 - 局部配置(针对特定仓库):与全局配置类似,但只影响当前仓库。 - 查看配置:`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 --cached 文件` 分别比较暂存区与HEAD(最新提交)的差异。 - `git checkout 文件1 文件2 文件3` 将工作区文件还原为暂存区状态。 - `git reset 文件1 文件2 文件3` 将暂存区文件还原为HEAD状态。 - `git reset --hard` 会将暂存区和工作区所有文件恢复到HEAD的状态,需谨慎操作,因为这可能会丢失未保存的改动。 - `git difftool` 结合图形工具进行更详细的差异对比。 - `git ls-files --others` 列出未被Git追踪的文件。 3. **存储与恢复**: - `git stash` 可以将未完成的变更暂时存储起来,以便处理其他任务。 - `git stash pop` 或 `git stash apply` 用于恢复最近一次的stash,`pop` 会删除stash,而 `apply` 不会。 - `git stash list` 显示所有stash,`git stash pop stash@{数字n}` 恢复指定编号的stash。 4. **分支操作**: - `git branch` 查看当前分支和所有分支。 - `git branch -a` 列出所有本地和远程分支。 - `git branch 分支名` 创建新分支。 - `git checkout 分支名` 切换到指定分支。 - `git merge 分支名` 合并指定分支到当前分支。 - `git branch -d 分支名` 删除已合并的分支,`-D` 强制删除未合并的分支。 - `git merge --no-ff 分支名` 合并分支时保留合并历史。 5. **提交操作**: - `git commit` 用于创建新的提交,通常会打开编辑器要求输入提交信息。 - `git commit --amend` 用于修改最近一次的提交,通常用于修正提交信息或添加漏掉的文件。 6. **远程操作**: - `git remote add origin 远程仓库URL` 添加远程仓库。 - `git push -u origin 主分支名` 第一次推送本地主分支到远程仓库,并设置跟踪。 - `git pull` 更新本地代码,将远程仓库的更新拉取到本地。 - `git fetch` 获取远程仓库的更新,但不会自动合并。 - `git push` 推送本地分支到远程仓库。 - `git clone 远程仓库URL` 克隆远程仓库到本地。 掌握这些基础命令后,你可以有效地管理代码版本,解决冲突,协作开发,并在面试中自信地展示你的Git技能。对于更高级的用法,如标签、重置、交互式变基等,还需要进一步学习和实践。