# 测试库 **Repository Path**: leader_info/git-test ## Basic Information - **Project Name**: 测试库 - **Description**: 用来测试git - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-24 - **Last Updated**: 2022-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基础规范(master) 每次commit时,必须添加更新内容说明; 先add,再commit,再pull; 提交的冲突,必须针对冲突每一个文件的每一行进行解决,跟冲突代码提交人一起解决冲突; # git基础 [基础说明](https://www.bianchengquan.com/article/228399.html) ![avatar](./git.png) # git基础命令 初始化仓库 git init 添加当前目录下的所有文件到暂存区 git add . 添加一个或多个文件到暂存区 git add [file1] [file2] ... 添加指定目录到暂存区,包括子目录 git add [dir] 将暂存区内容添加到仓库中 git commit -m "第一次提交" 关联远程仓库 git remote add origin https://gitee.com/leader_info/test.git 推送远程master分支 git push -u origin master 查看仓库当前的状态,显示有变更的文件 git status 显示暂存区和工作区的差异 git diff [file] 显示暂存区和上一次提交(commit)的差异 git diff --cached [file] 显示两次提交之间的差异 git diff [first-branch]...[second-branch] 回退版本(回退到之前的一次提交,并且删除该次提交后的所有提交) git reset [--soft | --mixed | --hard] [HEAD] 反做版本(比如现在有提交1,2,3,revert 2 的话,那么将去掉2的提交,保留3的提交并生成提交4) git revert 拉取命令pull git pull <远程主机名> <远程分支名>:<本地分支名> 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。 git pull origin master:brantest 如果远程分支是与当前分支合并,则冒号后面的部分可以省略 git pull origin master 拉取命令fetch git fetch [alias] 去获取远程仓库有本地仓库没有的数据 git merge [alias]/[branch] 将服务器上的任何更新合并到你的当前分支 # 分支操作 查看本地分支 git branch 查看远程分支 git branch -r 查看所有分支(以remotes/origin开头的就是远程分支) git branch -a 从远程分支克隆代码到本地 git clone -b dev https://gitee.com/leader_info/git-test.git 创建本地dev分支并切换到dev git checkout -b dev 从远程分支创建本地分支 git checkout -b dev origin/dev 切换分支(只会使用本地仓库代码,不会拉取远程仓库) git checkout branchName 删除本地分支(需要先切换到其他分支) git branch -d branchName 强制删除本地分支 git branch -D branchName 删除远程分支 git push origin --delete branchName 合并分支(如果现在所在分支为branchA,需要将分支branchB合并到branchA上) git merge branchB # 从一个分支选取单次或者多次提交合并到另一分支 Git如何合并一个分支的部分代码 (样例需求:现在有一个主分支A 和 一个子分支B(B分支开始是从A切出来的),后期再B分支上做了一些操作,并且 commit 和 push。 现在回到A分支,需要把B分支合并到主分支A上,但是我不要B分支的所有代码,只需要合并其中的一部分,该如何操作?https://www.zhihu.com/question/39540715) 找出B上需要的commit 1) git checkout A; git cherry-pick | ..(这里不会包含commitHash3) | ^..(这里包含commitHash3) 2) git checkout B; git format-patch ^..; git checkout A; git am $patch 第一种方式比较直接 第二种方式在本地操作的话有点多此一举,但你可以把patch分享给别人此外,还有一些其它的方式,你对git常用命令理解之后,可以自己尝试下。 cherry-pick详解:https://blog.csdn.net/qq_40741855/article/details/107011887