git辅助工具

目录

.git目录的内部结构

用户与.git形成

提交、解释

[使用"git log"命令查询添加日志](#使用"git log"命令查询添加日志)

使用ID库内文件查询流程

git暂存区、修改、仓库的进程查询

版本回退 (版本内部的所有文件)

误回退、回退过度的弥补

回退的原理

文件回退

版本库内文件的删除

分支管理、创建、合并、切换1.0

删除分支

解决分支内容冲突问题

--graph查询分支的内容管理

[fast forward提交模式的拒绝](#fast forward提交模式的拒绝)

修复master中的bug

[1.git stash 存储工作区内容](#1.git stash 存储工作区内容)

2.master内的修复

[3.dev2 开发---开发完成---检验---提交](#3.dev2 开发—开发完成—检验—提交)

删除无用分支

普通删除

强制删除分支

非本地提交相关

issue

PullRequest

[网址获取进行git clone](#网址获取进行git clone)

配置公钥SSH

远程仓库与本地仓库交互

push到gitee

pull远程仓库内容到本地

.gitignore的使用

.gitignore内的配置:

被隐藏文件隐藏原因的查询

别名及其使用

标签管理

打标签:

[标签内容查询:git show v0.8](#标签内容查询:git show v0.8)

本地、远端标签删除

本地远程标签推送

多人协作

分支查询

WIn下克隆本地分支到文件夹内

协作开发时的同步与提交

解决已删除远端分支在本地查询依旧显示(pruned)

企业级开发模型认识

团队:

环境:

add、commit、push到远端仓库gitee

前置配置

操作实例


.git目录的内部结构

用户与.git形成

useradd [name] //创建用户

su - [username] //切换到指定用户

visudo //在root下运行打开权限管理列表 如:完成各账户的权限配置

git init //初始化形成".git"

提交、解释

使用"git log"命令查询添加日志

使用ID库内文件查询流程

git cat-file -p [ID]

git暂存区、修改、仓库的进程查询

git status //获取git的状态

git diff [file_name] //查询文件修改了什么

版本回退 (版本内部的所有文件)

性质:git内提交记录的选择性部分回退

回退选项:--soft --mixed --hard 回退程度依次增加 //其中mixed是默认选项 //慎用hard

回退格式:git reset [回退选项] [ID]

----------------------------------------------4-26-----------------------------------------------------

误回退、回退过度的弥补

1.git reeset [回退选项(同时也对应回退程度)] ID(恢复至目标位置)。

2.git reflog //重要 //简单显示提交版本的ID 可利用此简单ID来进行回退。

回退的原理

修改master的指向

文件回退

HEAD //当前版本

HEAD^ //上一个版本

版本库内文件的删除

分为两步进行:

①git rm [filename] //将工作区、暂存区内的文件都删除。

②git commit -m "删除xxx文件" //将删除信息提交给仓库 造成版本库的删除。

---------------------------------4-30-------------------------------------------

分支管理、创建、合并、切换1.0

前提:位于哪个工作区提交自然在哪个分支中进行。

git branch //查询分支情况带*的表示正在处于的工作分支

git branch [branch_name] //创建新分支

打印当前分支所处git的目录哪里:

位于能够看到.git的目录下执行:cat .git/HEAD 就可以显示了

切换分支:git checkout [branch_name]

①新分支dev1下的提交

②master继续merge到dev1

分支移动情况:

删除分支

git branch -d [branch_name]

只能在删除目标分支的其他分支上才能删除指定分支。

解决分支内容冲突问题

※一定要搞清楚创建的新的分支在提交中的位置 不要忘记合并!!!

在直接删除、选择性保留冲突内容后并进行add 与commit 就可以了。

--graph查询分支的内容管理

git log --graph --abbrev-commit //即使在merge时进行--no--ff依旧不会显示哪个分支提交的内容

但是这个命令不会显示dev分支相对主master的位置关系(随系统变化而不定)

git log --oneline --graph --decorate --all //美观、详细显示

---------------------------5-1----------------------------

fast forward提交模式的拒绝

使用 --no-ff 来进行常规提交。

修复master中的bug

1.git stash 存储工作区内容

当我们在一个非master分支开发时突然在master分支出现bug需要立即修改 此时位于工作分支上使用git stash 就将工作区的内容剪切保存到stash这个分支区域。通过 tree .git 可以看到stash区域位置。此ReadMe(泛指工作文件)。 //这个stash似乎是固定的不能指定其他名字?

2.master内的修复

3.dev2 开发---开发完成---检验---提交

先在dev2开发分支上进行master的合并(好的习惯 防止master与dev2的代码冲突 万一有冲突可以及时检验发现)。

重新到master分支上重新进行提交更新版本

删除无用分支

普通删除

分支的add与commit并不是提交到了master分支上!!而是工作区暂存区

强制删除分支

在分支dev3未进行merge的情况下强制执行删除 操作。 // git branch -d [branch_name]

非本地提交相关

解决多台机器间的合作开发 实时保护仓库资源

issue

关于此仓库代码中的一些问题在此提出与指定解决。

"issue"提问区---开发人员修复区。

PullRequest

于分支合并到master前的申请 询问/审查。

网址获取进行git clone

当前状态图解

库内查询

当前区域:

配置公钥SSH

在gitee内可查看公钥如下:

第一步:查询主目录下有没有.ssh目录,如果有,再看这个目录下有没有id_rsa和id_rsa.pub这两个文件。如果已经有了,可直接跳到下一步。如果没有,需要创建SSH Key:

注意要输⼊⾃⼰的邮箱,然后⼀路回⻋,使⽤默认值即可

ssh-keygen -t rsa -C "647234102@qq.com"


顺利的话,可以在⽤⼾主⽬录⾥找到 .ssh ⽬录,⾥⾯有 id_rsa 和 id_rsa.pub 两个⽂件,这两
个就是SSH Key的秘钥对, id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥,可以放⼼地告
诉任何⼈。

远程仓库与本地仓库交互

push到gitee

本地分支类型

git commit push origion master:master //push成功的原因是本地与远程master间的自动链接

推送的目标\] \[目标分支类型

pull远程仓库内容到本地

合并+同步 远程仓库的内容到本地

git pull [远程仓库名] [远程仓库的分支类型]:[本地仓库的分支类型]

.gitignore的使用

解决部分文件不能传入仓库

.gitignore内的配置:

正常写入名代表隐藏

名前加!代表不隐藏此文件可以正常识别提交

被隐藏文件隐藏原因的查询

别名及其使用

标签管理

标签就是给某次提交写标识。

打标签:

标签内容查询:git show v0.8

本地、远端标签删除

git tag -d [tag_name] //本地删除指定标签

git push [远端仓库名称] :[tag_name] //删除远端标签

本地远程标签推送

多人协作

查询远端、本地分支。

分支查询

WIn下克隆本地分支到文件夹内

git克隆远端仓库到本地

协作开发时的同步与提交

第二个开发者在开发完成前第一个已经push那么第二个开发者需要先开发完毕后无法push因为文件冲突了 此时需要手动更新:再次pull最新内容并更改冲突代码。

建立链接:

git branch feature-2 origin/feature-2

git checkout -b feature-2 origin/feature-2

同步远端仓库内容:

git pull

1.建立链接后拉取分支内的内容()

2.建立链接后拉取仓库全部内容"形成同步"

git pull

1.建立链接后拉取分支内的内容

2.建立链接后拉取仓库全部内容"形成同步"

//创建本地分支链接远端feature-2分支

git branch feature-2 origin/feature-2

git checkout -b feature-2 origin/feature-2

git checkout feature-2 origin/feature-2//er

解决已删除远端分支在本地查询依旧显示(pruned)

git branch pruned(修剪) origin

企业级开发模型认识

团队:

开发团队->测试团队->运维团队

环境:

开发环境->测试环境->线上环境

灰度环境(部分人拥有的提前批环境)

预发布环境:尽量模拟真实的线上环境(保证提交后稳定性)

add、commit、push到远端仓库gitee

前置配置

配置姓名邮箱

创建目录

git init

写代码

git add

git commit

git remote 关联远程(gitee)仓库

git push 上传 "git push origin master:master"

操作实例

建立连接

相关推荐
一只大袋鼠11 小时前
Git 进阶(二):分支管理、暂存栈、远程仓库与多人协作
java·开发语言·git
我叫张小白。18 小时前
Git 分支管理与团队协作
git
DogDaoDao19 小时前
Windows 下 Git 报错:`touch` 无法识别 —— 原因分析与 7 种解决方案(从入门到精通)
windows·git·程序员·npm·powershell·cmd·touch
caicai_xiaobai20 小时前
Ubuntu上Git安装步骤
linux·git·ubuntu
come1123421 小时前
git 区分是 Git 分支还是 worktree 路径名
git
憧憬成为java架构高手的小白21 小时前
git多人工作之个人规范使用【ai+个人理解】
git
CVer儿21 小时前
git简单操作
git
Andya_net1 天前
Git | Git 核心命令深入解析:从原理到实战
大数据·git·elasticsearch
wh_xia_jun1 天前
给小白的 Maven 命令行执行测试 完整指南
git·maven·intellij-idea
专业白嫖怪1 天前
H3C UniServer R4950 G5 服务器压测实战:13根内存条24小时压力测试全流程
git