当前位置: 首页 > news >正文

Git最新教程通俗易懂----狂神说Java -- ---学习笔记

【狂神说Java】Git最新教程通俗易懂
https://www.bilibili.com/video/BV1FE411P7B3

P1、前言之版本控制 06:12
P2、Git和SVN的区别 07:38
P3、聊聊Git的历史 03:53
P4、安装Git及环境配置 07:02
P5、常用的Linux命令 08:06
P6、Git的必要配置 09:09
P7、Git的工作原理 07:56
P8、Git项目创建及克隆 05:34
P9、Git的基本操作命令 09:18
P10、码云的注册和使用 06:46
P11、配置SSH公钥及创建远程仓库 08:25
P12、IDEA中集成Git操作 12:44
P13、关于Git中分支说明 11:31
P14、Git后续操作说明 05:16

附录1、git忽略文件
附录2、Git忽略提交.gitignore详细介绍–by悠悠

git 工作区 – 版本库 – 暂存区

工作区 及 版本库

版本库 及 暂存区

实际的对象库

P4、安装Git及环境配置

git 官网
https://www.git-scm.com/
在官网上面下载比较慢,

git 下载镜像地址
http://npm.taobao.org/mirrors/git-for-windows/

P6、Git的必要配置

git config --system --list
git config --global --list ----- 查看用户自定义配置信息

P7、Git的工作原理



git add .
git commit

P8、Git项目创建及克隆


使用git --version 验证是否配置git的path,如下图所示(配置前后,无需重启计算机,要注意重新打开cmd)

git init
git clone [url]

P9、Git的基本操作命令

安装后 右击 执行 git bash here ,学习使用git bash



P9、Git的基本操作命令

https://www.bilibili.com/video/BV1FE411P7B3?p=9

git status
git add
git commit -m “注释”

忽略文件的配置在.gitignore 文件中 ,.gitignore 文件IDEA 新建文件的时候,自动帮忙创建

P10、码云的注册和使用

gitLab —开源的 本地的git数据仓库服务
2013年7月,产品被拆分为:GitLabCE(社区版)和GitLabEE(企业版),当时,GitLabCE和GitLabEE的许可仍然是根据MIT许可分发的免费和开源软件。


P11、配置SSH公钥及创建远程仓库

配置免密码登录


P12、IDEA中集成Git操作

提交文件三步骤

P13、关于Git中分支说明

git 分支常用命令

P14、Git后续操作说明



git 免密push

step1: git 方式下载GitHub 上面的程序到本地
git@github.com:wei198621/AllTypesOfDataPublishAndProcess.git
step2: git clone git方式地址
git clone git@github.com:wei198621/AllTypesOfDataPublishAndProcess.git
step3:
修改文件
step4:
git add . ;
git commit -m “****”
git push
可以做到免密push的目的



Git中如何忽略文件

示例1 忽略某个目录(如:node_modules)不上传到git

原文地址 https://blog.csdn.net/sunxiaoju/article/details/86495234
1、首先我们通过git status来查看能被上传的文件,如下图所示
2、我们查看到node_modules目录默认是可以被上传的,那么我们需要在目录总创建一个.gitignore文件,可以在目录中右键选择git bash Here,如下图所示:
3、然后输入touch .gitignore,如下图所示:


4、此时就会在目录中新建了一个.gitignore文件,如下图所示:

5、然后打开编辑器,将node_modules添加到文件中,如下图所示:

忽略规则 target//忽略这个target目录angular.json//忽略这个angular.json文件log/* //忽略log下的所有文件 css/*.css //忽略css目录下的.css文件

6、保存退出

7、然后在执行git status查看,就没有node_modules目录了,如下图所示:

8、然后执行git add .,就没有node_modules,如下图所示:
9、然后执行git commit -m “package”,如下图所示:
10、最后执行git push即可,如下图所示:

11、此时web上已经上传成功了,如下图所示:
注意:此目录必须是通过git clone下来的,否则在push时要加上url

git使用之忽略不需要上传的文件的三种方法

https://www.jianshu.com/p/6cae20d36eb3

在使用git 的时候通常会遇到一些问题,一些文件我创建了但是我并不想上传或者有些文件我修改了但是并不想上传(为了适应个自己的开发环境),但是在每次git status的时候总能看到它,不仅感到很心烦,而且有时会误上传。笔者接下来介绍两种git 忽略文件的方法。

一、忽略未存在缓冲区的文件(.gitignore文件忽略的方法)

一般git clone下来的项目是没有 .gitignore文件的需要我们手动创建,然后git 会自动识别这个文件,创建完成之后就可以在里面写一些创建了的文件但不希望上传的部分。
例如 cache , log 等 ,这些文件创建了但是并不想上传,我们可以将其写入 .gitignore文件中,* 代表该路径下的文件

.gitignore这个文件中支持多种忽略的规则,大家可以上网上去查,很多用法。这里不多叙述
但是.gitignore 只支持一些创建了但是不想上传的文件,也就是说不存在缓冲区的文件可以用.gitignore忽略,但是对于那些已经存在缓冲区的文件,修改了却不想上传,我们该如何呢?看第二种方法。

二、忽略已存在缓冲区的文件(git update-index --assume-unchanged PATH/FILE)

该情况可能出现在,修改了配置文件,或者修改一些配置适应本地环境的文件。
使用 git update-index --assume-unchanged PATH/FILE 来不追踪该文件更新与否。
PATH/FILE 特定文件比如 config/config.php等等。

三、已经存在缓冲区,但是希望其以后从缓冲区移除,以后在也不用追踪该文件,该文件变化或者不变化都不影响git status的结果.

该情况可能出现在,某些文件可能不需要添加到缓冲区,但是不小心添加到缓冲区,需要忽略,可以先从缓冲区移除,在从.gitignore文件中忽略
git rm --cached testFile //将该文件从缓冲区移除永远不追踪该文件

做完以上步骤时,想必你们也和我一样拥有一个干净的git status 结果,以后修改文件便可以,git add . 直接添加自己已经修改的文件,然后上传,再也不用一个一个文件的添加,还担心添加错。

附录2、Git忽略提交.gitignore详细介绍–by悠悠

Git 忽略提交 .gitignore
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。

Git 忽略文件提交的方法

有三种方法可以实现忽略Git中不想提交的文件。

在Git项目中定义 .gitignore 文件

这种方式通过在项目的某个文件夹下定义 .gitignore 文件,在该文件中定义相应的忽略规则,来管理当前文件夹下的文件的Git提交行为。

.gitignore 文件是可以提交到公有仓库中,这就为该项目下的所有开发者都共享一套定义好的忽略规则。

在 .gitingore 文件中,遵循相应的语法,在每一行指定一个忽略规则。如:

*.log
*.temp
/vendor

在Git项目的设置中指定排除文件

这种方式只是临时指定该项目的行为,需要编辑当前项目下的 .git/info/exclude 文件,然后将需要忽略提交的文件写入其中。

需要注意的是,这种方式指定的忽略文件的根目录是项目根目录。

定义Git全局的.gitignore文件

除了可以在项目中定义.gitignore文件外,还可以设置全局的git .gitignore文件来管理所有Git项目的行为。这种方式在不同的项目之间是共享的,是属于项目之上Git应用级别的行为,换一个环境就没有这个规则了,也就是不同开发者直接不共享。

这种方式也需要创建相应的.gitignore文件,可以放在任意位置。然后在使用以下命令配置Git:

git config --global core.excludesfile ~/.gitignore

Git 忽略规则

Git 忽略规则优先级

在 .gitingore 文件中,每一行指定一个忽略规则,Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):

从命令行中读取可用的忽略规则 当前目录定义的规则 父级目录定义的规则,依次递推 $GIT_DIR/info/exclude 文件中定义的规则 core.excludesfile中定义的全局规则

Git 忽略规则匹配语法

在 .gitignore 文件中,每一行的忽略规则的语法如下:

空格不匹配任意文件,可作为分隔符,可用反斜杠转义 # 开头的文件标识注释,可以使用反斜杠进行转义!开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用!也不会再次被包含。可以使用反斜杠进行转义/结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件/开始的模式匹配项目跟目录 如果一个模式不包含斜杠,则它匹配相对于当前.gitignore 文件路径的内容,如果该模式不在.gitignore 文件中,则相对于项目根目录**匹配多级目录,可在开始,中间,结束?通用匹配单个字符[]通用匹配单个字符列表

常用匹配示例:

bin/:忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件/bin:忽略根目录下的bin文件/*.c: 忽略 cat.c,不忽略 build/cat.c debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj **/foo:忽略/foo,a/foo,a/b/foo等 a/**/b:忽略a/b,a/x/b,a/x/y/b等!/bin/run.sh:不忽略 bin 目录下的 run.sh 文件*.log:忽略所有.log 文件 config.php:忽略当前路径的 config.php 文件

.gitignore规则不生效

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
wl的 .gitignore文件

#用于忽略单个项目的/.idea/*.iml /target /.gradle /out /log /logs #用于忽略父子项目 */.idea*/*.iml */target*/.gradle*/out*/log*/logs

狂神的文件—暂未使用

/target/!.mvn/wrapper/maven-wrapper.jar ###STS###.apt_generated.classpath.factorypath.project.settings.springBeans.sts4-cache ### IntelliJIDEA###.idea*.iws*.iml*.ipr ### NetBeans ###/nbproject/private//build//nbbuild//dist//nbdist//.nb-gradle/

解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git status git rm-rf--cached.git add.git commit-m'update .gitignore'git push git status

简易的命令行入门教程:

Git 全局设置:

gitconfig--globaluser.name"wei198621"gitconfig--globaluser.email"8188268+wei198621@user.noreply.gitee.com"

创建 git 仓库:

mkdirgittest20211112cdgittest20211112gitinittouchREADME.mdgitaddREADME.mdgitcommit-m"first commit"gitremoteaddorigin git@gitee.com:wei198621/gittest20211112.gitgitpush-uorigin master

已有仓库?

cdexisting_git_repogitremoteaddorigin git@gitee.com:wei198621/gittest20211112.gitgitpush-uorigin master
http://www.jsqmd.com/news/1121015/

相关文章:

  • Elm-platform项目管理指南:使用elm-package管理依赖和发布包
  • Spectre性能调优技巧:从CPU到CUDA的完整优化路线图
  • Android WebView安全防护:从HTTPS到JS交互的全面防御方案
  • hexo成功后localhost拒绝连接
  • Scarab:让空洞骑士模组管理变得直观简单的跨平台解决方案
  • [前端高频面试] 2023年初级、中级面试题解
  • 3个平台限制下的架构突破:猫抓项目的技术演进启示
  • 酷睿Ultra X9 388H架构解析与性能实测
  • AI算力竞争加剧:从CUDA生态到多元硬件,开发者如何应对物理瓶颈与生态迁移
  • 微信小程序 App.js 公共方法 小功能
  • 10分钟上手NoDock:Node.js开发者必备的Docker容器化解决方案
  • YOLO目标检测算法全流程实战:从原理到部署的系统学习指南
  • STM32F107VC与A89307的BLDC电机FOC控制方案详解
  • 如何为Micro Journal开发自定义应用:Python与C++编程指南
  • 别再花冤枉钱了!驾照德语宣誓翻译去哪办?流程+费用全曝光!
  • gprMax devel分支中的重构:从过程式仿真程序到分层科学计算框架
  • YOLO26实战:从环境搭建到自定义训练的全流程避坑指南
  • 如何高效提取Wallpaper Engine资源:专业逆向工具的完整指南
  • CANN/ge ES生成器工具指南
  • 计算机毕业设计之jsp浪淘音乐网站的设计与实现
  • 高性能计算之OpenMP——超算习堂学习2
  • 如何高效使用智能技能管理工具:开发者的完全实战指南
  • HsMod终极指南:高效自定义你的炉石传说游戏体验
  • gprMax项目代码分解:理解 gprMax的项目结构、运行主线与开发模块
  • MZmine 3终极指南:如何免费快速处理质谱数据的完整解决方案
  • Slash实战案例:从代码示例到真实项目,教你如何优雅实现复杂富文本界面
  • EFCore 反向工程
  • 自定义View之文字测量原理与文字特效实现
  • AI 学习路径推荐:别把薄弱点变成焦虑清单
  • PoseDiffusion部署实战:从本地测试到生产环境的完整指南