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"

操作实例

建立连接

相关推荐
Yang-Never6 小时前
Git -> Git Worktree 工作树
android·开发语言·git·android studio
hashiqimiya6 小时前
一次git合并与上传
git
独隅7 小时前
it+云原生:GitOps实践指南-K8s配置版本管理
git·elasticsearch·云原生
宁静的舞者16 小时前
Git、GitHub、Codeup(云效代码仓库)详解
git·代码仓库·codeup·云效
陈佬昔没带相机17 小时前
Git Worktree: AI 编程 Agent 并行开发的秘密武器
git·agent
栈时没有名字1 天前
git仓库管理,commit或push上传服务器失败问题
git·嵌入式
金銀銅鐵1 天前
[git] 如何丢弃对一个文件的改动?
git·后端
JAVA面经实录9171 天前
Java开发工程基础完整手册(企业实战完整版)
java·开发语言·git·ci/cd·svn·github·intellij idea
草履虫君1 天前
若用wsL方式安装openclaw 就不需要安装win原生的node和git
经验分享·git·ai