• 【无标题】


    一、工作原理 / 流程:
    在这里插入图片描述
    Workspace:工作区
    Index / Stage:暂存区
    Repository:仓库区(或本地仓库)
    Remote:远程仓库

    二、Git常用操作命令
    1、常用操作命令
    1.git clone GitLab Clone with SSH //(git clone 下载分支, ssh 地址可以直接从 project clone with ssh)
    git clone -b <分支名> SSH //下载对应分支

    	2.git branch  				// 查看当前所在分支
    	3.git branch -a 			// 查看所有分支
    	4.git branch -D 			// 删除相关分支
    	5.git branch <分支名>     	// 新建相关分支
    	6.git checkout <分支名>  	// 切换到相关分支
    	
    	7.git status   				// 命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了, 哪些没有, 哪些文件没有被 Git tracked 到
    	8.git add 文件名.   		// 命令将文件内容添加到索引(将修改添加到暂存区)
    	  git add -A				// 表示添加所有内容
    	  git add . 				// 表示添加新文件和编辑过的文件不包括删除的文件
    	  git add -u 				// 表示添加编辑或者删除的文件,不包括新添加的文件
    	  
    	  git checkout        // 取消对文件的修改。还原到最近的版本,废弃本地做的修改。
    	  git reset HEAD      // 取消已经暂存的文件。即,撤销先前"git add"的操作  
    	  
    	9.git commit -m “******” 	// 参照公司的提交规范 
    	10.git log 					// 查看 Commit 日志
    	
    	11.git config --list				// 查看git config 所有信息
    	12.git config --global user.name 	// 修改git用户名
    	13.git config --global user.email 	// 修改git邮箱 
    	
    	14.git push <远程主机名> <本地分支名>:<远程分支名> 	  // 上传远端服务器
    	   git push origin <分支名>    					      // 根据远程分支名上传远端服务器
    	   
    	15.git pull = git fetch + git merge    				  // 命令用于从远程获取代码并合并本地的版本。有merge会生成一个merge的提交。
    	   git pull <远程主机名> <远程分支名>:<本地分支名>    // 从团队项目代码更新fork项目代码。
    	   git pull --rebase = git fetch + git rebase 		  // 从远端获取代码合并,避免菱形产生。不会有merge的提交。
    		   在git rebase 过程中,解决冲突后,用 git add 更新内容,再执行 git rebase --continue,即可继续往下合并。
    	   
    	16.git diff					// 查看文件修改的内容。(需要在git add之前使用,否则查看不了)
    	
    	17.git remote -v			// 获取本地仓库对应远端版本(SSH路径)。
    	18.git remote add proj_master SSH         //新增远程仓库SSH,并命名为 proj_master。
    	
    	19.git stash 				  // 将本地修改存储起来,git stash list 可查看所有暂存内容
    	   git stash pop stash@{0}    // 还原暂存的内容
    	   git stash clear 			  // 通过删除所有的暂存库来清空该列表。
    	   git stash drop   // 从暂存列表中删除一个特定的暂存。
    	
    	20.git cherry-pick hash码	  //将指定的提交应用于其他分支 (指定提交对应分支在本地库必须要有,否则无法合并)
    
    2、代码发生冲突(git pull时冲突):
    	(1). git stash       				// 将本地修改存储起来,git stash list 可查看所有暂存内容
    	(2). git pull       		    	// pull下载内容
    	(3). git stash pop stash@{0}   	 	// 还原暂存的内容
    	(4). 解决冲突文件即可。
    	(5). 冲突解决完毕后,再git add 添加上,即可提交。
    
    
    3、查看提交内容:
    	(1). git log         	    //可查看所有commit日志,有一个commit字段,位于备注上面,复制hash码。
    		 git log -- 文件名      //可查看对应文件的历史提交记录
    	(2). git show hash码        //可查看本次提交的所有内容
    		 git show hash码 -- 文件名     //可查看对应提交中某个文件的提交内容
    	(3). 修改commit日志:
    		 git commit --amend    		  //操作与vim一致。     还可在客户端界面使用 amend last commit 来修改本次提交。
    		 
    	(4). 查找对应字符串相关的提交,格式化输出:
    		 git log --format='%H|%cn|%s (%cr)' | grep '搜索字符串'
    		 --graph 展示分支信息,显示 ASCII 图形表示的分支合并历史。
    		 --stat 显示每次更新的文件修改统计信息。 无法与grep同时使用。
    		 --format 常用参数列表如下:
    			%H: commit hash
    			%cn: 提交者名字
    			%s: commit 提交说明
    			%cr: 提交日期, 相对格式 (1 day ago)
    			%ce 作者的电子邮件地址
    			%ci: 提交日期, ISO 8601 格式,如 (2021-06-07 10:39:24 +0000)
    			%h: 缩短的 commit hash
    			%Cblue: 切换到蓝色
    			%Creset: 重设颜色
    			更多参数参考:https://ruby-china.org/topics/939
    		 
    4、回退某个版本:
    	(1). git revert -n 版本号(hash码)     //revert回退某个版本 *(而不是回退到某个版本)*,相当于将需要回退的版本逆向操作。
    	(2). 想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了 *(慎用)*
    		 git reset --hard 目标版本号
    	(3). commit后但还未push时,需要撤销此次commit:
    		 git reset --soft 目标版本号。  
    		 --soft:不删除工作空间的改动代码 ,撤销commit,不撤销git add file。
    		 --hard:删除工作空间的改动代码,撤销commit且撤销add
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82

    三、Git提交规范
    1.提交环境确认
    使用命令: git config --list 查一下,显示的user.name 和user.emaile 是不是自己的,如果不是,则需要先进行git 相关设置
    2.提交内容规范
    提交模板:{任务ID task id} {类型 commit type} {标题 commit title} // 第一行,以空格分隔
    {提交说明 commit explaination} // 第二行

    3.说明:
    (1) 任务ID:使用Jira编号, 如:B2BKSGT-26
    (2) 类型(该字段必填): a. feat:增加新功能; b. fix:修复bug; c. perf:提高性能的改动 等等
    feat:增加新功能
    fix:修复bug
    perf:提高性能的改动
    refactor:代码重构
    revert:代码回滚
    style:不影响代码含义的改动,例如去掉空格、改变缩进、增加换行
    docs:改动了文档相关的内容
    test:测试用例修改,包括单元测试、集成测试
    ci:与CI有关的改动
    build:外部依赖的改动,例如webpack,npm
    chore:构建过程或辅助工具的变动

  • 相关阅读:
    基于Springboot实现高校社团管理系统
    Flink Time 详解
    前端常用的 59 个工具类【持续更新】
    GBase 8c V3.0.0数据类型——网络地址函数和操作符(cidr和inet函数)
    springboot项目的文件上传至本地的minio框架
    【408篇】C语言笔记-第十章(线性表)
    Linux命令行技巧
    [网鼎杯2018]Unfinish-1|SQL注入|二次注入
    手把手教你Nginx常用模块详解之ngx_http_access_module(一)
    web概述09
  • 原文地址:https://blog.csdn.net/qq_44877135/article/details/126584157