# git使用教程 **Repository Path**: fengdaokanhai/complete-tutorial-on-using-git ## Basic Information - **Project Name**: git使用教程 - **Description**: 这是一个完整的git使用教程 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-07-05 - **Last Updated**: 2023-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### git安装配置 1.安装git 2.配置sshkey 2.1 打开git执行 ssh-keygen -t rsa -C [自己的github或者gitee邮箱]命令,连按三次确认 2.2 会生成id_rsa私钥 和id_rsa.pub 公钥文件,在用户主目录下 .ssh文件下 2.3 打开.hub文件将内容复制到gitee或者github的key配置框中 git 全局配置 git config --global user.name "gitee用户名" git config --global user.email "gitee邮箱" ### git使用 1.新建仓库(两种方式): git init (比较少用) git clone [远程仓库地址] (克隆远程仓库(常用)) 2.git 常用命令 2.1 工作区、暂存区、版本库的概念: 2.1.1 版本库:.git隐藏文件夹,存储了配置信息、日志信息和文件版本信息 2.1.2 工作区:包含.git文件夹的目录,存储开发的代码 2.1.3 暂存区:.git文件夹中的一个index文件,用于存储临时保存修改文件 工作区的内容发生了变化后-->git add-->保存到暂存区-->git commit-->版本库-->git push-->远程仓库 git工作区中文件的状态 1)untracked未被追踪 2)tracked已追踪(被纳入版本控制) unmodified未被修改 modified已修改 staged已暂存 2.2 本地工作区: 2.2.1 git status 查看文件状态 2.2.2 git add 将文件修改加入暂存区 git add . 添加文件夹下所有文件 git add [文件名] 添加指定文件 2.2.3 git reset git reset [文件名] 将暂存区的文件取消暂存 git reset --hard [commit 版本号(可以用git log 命令查询)]切换到指定版本 2.2.4 git commit -m "提交提示信息" 将暂存区的文件修改提交到版本库 2.2.5 git log 查看日志 2.3 远程仓库操作: 2.3.1 git remote -v 查看远程仓库 2.3.2 git remote add [shortname] [url] 添加远程仓库(用于git init 创建本地仓库没有和远程仓库连接时) 2.3.3 git clone [url] 克隆远程仓库到本地 2.3.4 git pull [远程仓库通常用origin] [远程分支名] 从远程仓库指定分支拉取文件 2.3.5 git push [远程仓库通常用origin] [远程分支名] 推送到远程仓库的指定分支 2.4 分支操作: 2.4.1 git branch 查看本地分支 git branch -r 查看远程分支 git branch -a 查看所有远程分支和本地分支 2.4.2 git branch [name] 创建分支 2.4.3 git checkout [name] 切换到指定分支 2.4.4 git push [远程仓库通常用origin] [远程分支名] 推送到远程仓库分支 2.4.5 git merge [被合并的分支名] 合并分支(先切换到想最后合并到的分支,然后再执行git merge [被合并的分支名]) 分支合并时冲突的解决: - 找到冲突的代码文件,删掉多余的代码,然后执行git add [文件名] ,再执行git commit -m "提示信息" - 若报错则执行git commit -m "提示信息" -i - 执行 git push [origin] [远程分支名] 2.5 标签操作:(指的是某个分支特定时间点的状态,通过标签可以切换到标记时的状态,通常在代码已经稳定时可以打一个标签(如发布版本号等)) 2.5.1 git tag 列出已有标签 2.5.2 git tag [name] 2.5.3 git push [远程仓库] [标签名] 将标签推送到远程仓库 2.5.4 git checkout -b [branchname] [标签名] 检出标签