复习Git相关知识内容,常用简单命令,简单原理解析

标题

  • [Git 大全](https://gitee.com/all-about-git)
  • 团队项目Git分支管理规范
  • 导出 git 提交记录到桌面
  • 创建了一个分支并在分支上开发
  • 小张获取小袁提交的分支
  • 小张把分支合并到主干
  • 版本控制
  • Git跟SVN的区别
  • Git历史
  • Git下载、卸载、安装、环境配置
  • 启动Git
  • 基本的Linuxi命令学习
  • 查看git的不同级别配置文件
  • 设置用户名与邮箱
  • GitHub SSH免密登录
  • SSH配置
  • git基本理论
  • gt的工作流程
  • git命令简单实操
  • 版本穿梭:
  • git分支
  • 合并分支
  • git项目搭建
  • Git的文件操作
    • 查看文件状态
  • git设置忽略文件 `git.ignore`
  • 设置免密登录(码云)
  • IDEA集成Git
  • git分支相关命令
  • GitHub操作
  • IDEA集成GitHub
  • 自建代码托管平台-GitLab
  • git 修改提交(commit)的用户名
  • git 报错记录
    • git 代码提交,出现403错误的问题
  • Git常规问题解决
    • 关于Git版本切换出现问题
    • 关于Git commit后未push如何撤回
    • IDEA通过git回滚到某个提交节点或某个版本
    • git push成功提交后如何撤销或回退版本
    • idea中git 回退已经push上去的东西(简单情况)
    • 版本合并

Git 大全

待看视屏网址1
待看视屏网址2
待看视屏网址3
待看视屏网址4
待看视屏网址5
待看视屏网址6
待看视屏网址7
待看视屏网址8
IDEA中Git的使用详解

完整教程-idea使用git进行项目管理(总结版)

尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab)

在这里插入图片描述

团队项目Git分支管理规范

分支管理
创建项目时(一般是服务型项目,工具型或辅助型项目可以简单一些),会针对不同环境创建三个常设分支:

  1. develop:开发环境的稳定分支,公共开发环境基于该分支构建。
  2. pre-release:测试环境的稳定分支,测试环境基于该分支构建。
  3. master:生产环境的稳定分支,生产环境基于该分支构建。仅用来发布新版本,除了从pre-release或生产环境Bug修复分支进行merge,不接受任何其它修改

平时开发工作中,会根据需要由开发人员创建两类临时分支:

  1. 功能(feature)分支:为了开发某个特定功能,从develop分支上面分出来的。开发完成后,要merge到develop分支。功能分支的命名,可以采用feature-*的形式命名(*为任务单号)
  2. Bug修复(fixbug)分支:为了修复某个bug,从常设分支上面分出来的。修复完成后,再merge到对应的分支。Bug修复分支的命名,可以采用fixbug-*的形式命名(*为bug单号)

流程规范

  1. 从develop分支切出一个新分支,根据是功能还是bug,命名为feature-* 或 fixbug-*。
  2. 开发者完成开发,提交分支到远程仓库。
  3. 开发者发起merge请求(可在gitlab页面“New merge request”),将新分支请求merge到develop分支,并提醒code reviewer进行review
  4. code reviewer对代码review之后,若无问题,则接受merge请求,新分支merge到develop分支,同时可删除新建分支;若有问题,则不能进行merge,可close该请求,同时通知开发者在新分支上进行相应调整。调整完后提交代码重复review流程。
  5. 转测时,直接从当前develop分支merge到pre-release分支,重新构建测试环境完成转测。
  6. 测试完成后,从pre-release分支merge到master分支,基于master分支构7建生产环境完成上线。并对master分支打tag,tag名可为v1.0.0_2019032115(即版本号_上线时间)

导出 git 提交记录到桌面

在项目根目录下执行命令 也就是在这个目录下执行命令:
在这里插入图片描述
导出全部时间段,全部人的提交记录:

git log --date=iso --pretty=format:’"%h","%an","%ad","%s">> ~/Desktop/commit.csv

在这里插入图片描述

上面亲测可用,缺陷是导出了所有人,所有时间的记录。将进行如下优化

如果想导出某些提交者的提交记录,可以用 grep过滤,比如我想导出「lxd」这个人在项目中的提交记录:
导出指定时间段、指定人的提交记录(导出个人:推荐使用)
后缀 .log或者 .csv你随意

git log --pretty=format:"%ai , %an: %s" --since="126 day ago" | grep "lxd" >> ~/Desktop/commit-ianly.loggit log --pretty=format:"%ai , %an: %s" --since="126 day ago" | grep "lxd" >> ~/Desktop/commit-ianly.csv

导出指定时间段内的数据:

git log --pretty=format:"%ai , %an: %s" --since="100 day ago" >> ~/Desktop/commit.log

创建了一个分支并在分支上开发

建分支也是一个常用的操作,例如临时修改bug、开发不确定是否加入的功能等,都可以创建一个分支,再等待合适的时机合并到主干。
创建流程如下:

在这里插入图片描述
选择New Branch并输入一个分支的名称
在这里插入图片描述
创建完成后注意IDEA的右下角,如下图,Git: wangpangzi_branch表示已经自动切换到wangpangzi_branch分支,当前工作在这个分支上。

点击后弹出一个小窗口,在Local Branches中有其他可用的本地分支选项,点击后选择Checkout即可切换当前工作的分支(见场景7操作切换其他分支)。

在这里插入图片描述
如下图,点击Checkout
在这里插入图片描述
注意,这里创建的分支仅仅在本地仓库,如果想让组长小张获取到这个分支,还需要提交到远程仓库。

小张获取小袁提交的分支

使用Pull功能打开更新窗口,点击Remote栏后面的刷新按钮,会在Branches to merge栏中刷新出新的分支。

这里并不想做合并,所以不要选中任何分支,直接点击Pull按钮完成操作。

在这里插入图片描述
更新后,再点击右下角,可以看到在Remote Branches区已经有了新的分支,点击后在弹出的子菜单中选择Checkout as new local branch,在本地仓库中创建该分支。完成后在Local Branches区也会出现该分支的选项,可以按上面的方法,点击后选择Checkout切换。
在这里插入图片描述

小张把分支合并到主干

新功能开发完成,体验很好,项目组决定把该功能合并到主干上。

切换到master分支,选择Merge Changes

在这里插入图片描述
选择要合并的分支,点击Merge完成
在这里插入图片描述

版本控制

内容视屏网址
在这里插入图片描述
常见版本控制工具
在这里插入图片描述
版本控制分类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Git跟SVN的区别

视频讲解
在这里插入图片描述
在这里插入图片描述

Git历史

在这里插入图片描述
在这里插入图片描述

Git下载、卸载、安装、环境配置

安装视频讲解
注意下载技巧:官网一般都特别慢,找镜像
官网
淘宝镜像
在这里插入图片描述

下载好了之后,如果你已经有了的话,普及一下如何卸载
在这里插入图片描述

找一下环境变量 path里有没有git相关的,有就清理掉

在这里插入图片描述
在这里插入图片描述
安装
安装教程

基本上都是下一步,安装路径你可以换一下(随意),把你可能困惑的地方进行图解说明
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面都是直接走默认,实在不懂你用有道截图翻译一下,没啥好说的

环境变量我提一嘴
环境变量就是全局你在哪用都可以,为了方便而已,而且安装好了之后系统会自己配置好全局变量,不用专门配置环境变量,就算系统不配置都没关系,因为你鼠标右击就会出现bush here

启动Git

在这里插入图片描述
你可以在任意位置右击,并且可通过ctrl+滚轮实现字体大小
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

查看hello.txt最后一行内容
在这里插入图片描述

基本的Linuxi命令学习

在这里插入图片描述

查看git的不同级别配置文件

通过命令看到的内容,就在本地配置文件里
在这里插入图片描述
在这里插入图片描述

# 查看配置
$ git config -l
# 查看系统配置
$ git config --system --list
# 查看本地配置
$ git config --global --list

设置用户名与邮箱

如果已经设置过了邮箱跟用户名怎么重新设置
所有的配置文件,其实都保存在本地!
删除邮箱用户名:(前面说配置的东西都能在配置文件里找到,那我用户名跟邮箱在哪个配置文件里呢)

在C盘用户下,如我的就在
在这里插入图片描述

在这里插入图片描述
你需要把内容清空并保存即可,你在通过命里查就没有信息了,你就可以重新设置了
在这里插入图片描述
通过下面两个命里设置即可,名字邮箱自己起,
在这里插入图片描述

git config --global user.name "liu918458630"
git config --global user.emai "918458630@qq.com"

如果你出现如下报错:
在这里插入图片描述
管理员身份运行即可
在这里插入图片描述

GitHub SSH免密登录

视频详解

SSH配置

你没配置好就会出现如下报错
解决 “fatal: Could not read from remote repository.“
配置方法请参考

完成以上内容git已经安装好了,可以正常使用了 ,重点在下面

git基本理论

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

gt的工作流程

在这里插入图片描述

git命令简单实操

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这块视频对应网址

状态红色表示你只是出现在我工作区,还未被git追踪的文件,会提示你进行add
在这里插入图片描述
当我们执行完git add hello.txt添加到暂存区后在看它此时的一个状态
绿色表示我追踪到了当前文件,会提醒你如何取消(删除)此追踪文件
删除暂存区文件:git rm --cached hello.txt
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
模拟版本迭代过程

版本穿梭:

在这里插入图片描述
这些东西其实都在.git里面记载着:
对应视频
在这里插入图片描述
版本穿梭本质:在本地库的内存里面记录了很多个日记(版本信息),通过调用指针指向不同的版本。

git分支

视频描述
资源文档地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

合并分支

视频详解
首先切换到要合并的分支
在这里插入图片描述
在这里插入图片描述

如果你hot-fix跟master都修改同一文件,同一位置,不同修改 就会出现合并冲突,需要人为处理最终代码
比如我们现在两个分支都做了修改,然后再合并的时候报错了,此时你查看状态,它会检测到两处修改,这个时候你就的打开这个文件,它会标记你改的地方,人为的处理一下,无错误后保存
在这里插入图片描述
此时它的状态是未被追踪的需要你添加到暂存区,注意 此时提交的时候是不能带文件名的
在这里插入图片描述
注意 我们在master处理了此冲突文件,但是你的hot-fix分支内容还是你的内容,

git项目搭建

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Git的文件操作

在这里插入图片描述

查看文件状态

在这里插入图片描述

git设置忽略文件 git.ignore

视频详解

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在用户家(C/User/用户名) 下创建 git.ignore 内容如下

# Compiled class file
*.class# Log file
*.log# BlueJ files
*.ctxt# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rarhs_err_pid*.classpath
.project
.settings
target
.idea
*.iml

在 .gitconfig 文件中引用忽略配置文件(.gitconfig 在家目录中)

[user]name = Augenesternemail = .....@qq.com
[core]excludesfile = C:/Users/Augenestern/git.ignore

在这里插入图片描述

设置免密登录(码云)

这一块是用的码云,对应视屏
找到你的.ssh文件夹下执行
在这里插入图片描述
IDEA安装码云
在这里插入图片描述
IDEA中登录码云
在这里插入图片描述

IDEA项目分享到码云
在这里插入图片描述
第一步先去码云创建好仓库 并拿到它的仓库地址
在这里插入图片描述
第二步找到push命令 然后选中我们配置的地址进行Push
在这里插入图片描述

码云导入Github项目
以前页面如下
在这里插入图片描述
现在页面如下,反正一个意思
在这里插入图片描述
注意更新操作
在这里插入图片描述

IDEA集成Git

在这里插入图片描述

这节视屏介绍了一种常用基本方式,没什么难的自己看看即可

比如你现在创建了一个java工程
第一次配上Git

在这里插入图片描述
此时项目还没有被git管理 需要如下操作
在这里插入图片描述
在这里插入图片描述

这个操作就是在项目目录下执行 git init 命令

关于add操作,你可以选择具体哪个文件、哪个目录
这块提醒一下,因为你可能设置了忽略文件,而此时你想把忽略文件某个格式的上传,你就单独操作这个文件右击 add,然后强制提交
在这里插入图片描述

关于log信息查看
在这里插入图片描述

关于切换版本
在这里插入图片描述
创建分支:有以下方式

在这里插入图片描述

在这里插入图片描述

合并分支
要网哪个分支合并,就得先来到哪个分支下
在这里插入图片描述

在这里插入图片描述

push推送到码云远程库 你可以修改地址是HTTPS还是SSH形式

在这里插入图片描述
在这里插入图片描述
pull拉取远程库到本地库
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

git分支相关命令

在这里插入图片描述

在这里插入图片描述

GitHub操作

我这里打不开GitHub就放个视频自己看

在这里插入图片描述
在这里插入图片描述
当别人拉取代码时会做三件事
在这里插入图片描述

IDEA集成GitHub

视频
尚硅谷视频

分享项目到Github
在这里插入图片描述

自建代码托管平台-GitLab

视频网址
尚硅谷视频
在这里插入图片描述
在这里插入图片描述

git 修改提交(commit)的用户名

在这里插入图片描述

git config --global -l  
git config user.email        --获取用户邮箱
git config user.name        --获取用户名
git config user.password    --获取用户名密码修改全局用户名、邮箱、密码
git config --global user.name "你想改成的名字"  
git config --global user.email "123456@qq.com"
git config --global --replace-all user.password "要修改的密码"

git 报错记录

git 代码提交,出现403错误的问题

今天我去码云上新建个仓库就行push命令出错了
在这里插入图片描述
原因是 https
在这里插入图片描述
用HTTPS跟SSH下面config内容是不一样的自己去看
在这里插入图片描述
我百度网上针对这个错试了都没有效果
参考网址有对我无效,你可以看看

Git常规问题解决

关于Git版本切换出现问题

(先说低级操作)
切换版本操作不当可能造成代码丢失,它出现问题的原因无非就是你修改了代码没提交,你又切到另外一个版本,现在两边内容不一样肯定会冲突
博主建议:工作开发中拉去两份代码,一份用于开发,一份来做切换分支切换分支那个项目每次打开记得先更新呦

现象1:Untracked Files Prevent Checkout
提示的很明确,在切换前请删除或提交
在这里插入图片描述

我的做法是,查看文件,先把这几个文件所在的目录备份一份,(当然也可以只备份这几个文件),接着我把这几个文件删掉,现在是让切换了,但是我原分支启动报错,我在把之前的备份粘进来,ok启动不报错了。

网上说删除的,我不建议直接删除,只要涉及删除我都建议先备份,给自己留个后路。

也有这样解决的,我没有亲测不知道好用不
在这里插入图片描述
git之本地有未提交代码如何切换分支 标准做法

1.使用git status指令查看当前文件状态。2.然后,使用指令git stash 将文件修改缓存。3.使用git status指令确认当前分支没有修改内容。4.使用指令git stash list,查看当前缓存列表。5.使用指令git stash apply stash@{id},恢复指令ID的缓存内容,并且保留缓存条目。6.使用git stash pop 恢复最新的stash,同时删除恢复的缓存条目。

现象2:Git Checkout Problem
下面这个处理很简单,如果你不想提交,你把内容先备份一下,然后使用服务器版本的内容(保证你没修改这个文件即可)。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

https://www.pianshen.com/article/5505732564/

https://www.136.la/tech/show-866572.html

关于Git commit后未push如何撤回

适用情景: idea 中本地提交代码(commit),发现提交错了,想要撤回本次操作。
注意:只是提交commit,而并未push到远程分支中去。

GIT指令

git reset --soft HEAD~1

IDEA操作
To Cimmit:里面填写 HEAD~1 点击Reset即可撤销上次commit的内容;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下面会详细介绍Reset Type:Mixed To Commit : HEAD~1 具体是什么意思!!

git reset --soft HEAD~1
撤销最近一次的commit(撤销commit,不撤销git add)git reset --mixed HEAD~1
撤销最近一次的commit(撤销commit,撤销git add)git reset --hard HEAD~1 
撤销最近一次的commit(撤销commit,撤销git add,工作区的代码改动将丢失。操作完成后回到上一次commit状态)

IDEA通过git回滚到某个提交节点或某个版本

项目右键后,点击“Git - Show History”

在这里插入图片描述
这里会显示有历史提交的版本记录(这里我们假设要回滚到 “提交” 版本中)
在这里插入图片描述
选中 “提交” ,右键Copy Revision Number
在这里插入图片描述
回到项目,右键-Git-Repository-Reset HEAD

在这里插入图片描述
Reset Type选择Hard,To Commit处黏贴刚刚复制的版本号;然后点击Reset按钮

在这里插入图片描述
在这里插入图片描述

git push成功提交后如何撤销或回退版本

相关网址
获取版本号的两种方式

git reflog 查看自己提交的各种版本
git log 查看所有人提交的版本

回退版本
在这里插入图片描述


git reset --soft d5f66a591d9c0c909c9b8a9379c1cc8e9b283ae4
// 或者
git reset --hard d5f66a591d9c0c909c9b8a9379c1cc8e9b283ae4常用:回退到上一个push前(add后的)命令如下:
git reset --soft HEAD~1
// 或者(同上效果一致)
git reset --soft HEAD^

在这里插入图片描述

idea中git 回退已经push上去的东西(简单情况)

网址
这个仅仅是取消本次的push,而且没有冲突的情况,就是此期间别人没有提交代码

版本合并

git push origin 分支名 --force 将当前版本push上去
注意:这次操作会删除上一次提交记录,而不是重新提交一次,所以如果需要保存文件就先备份下
IDEA界面操作

创建分支
在这里插入图片描述

合并分支

在这里插入图片描述
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部