IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 基于Gitee的Git原理及操作学习 -> 正文阅读

[开发工具]基于Gitee的Git原理及操作学习

1、git概念、原理理解

1.1、版本控制分类

  • 本地版本控制,记录文件的每次更新,适合个人使用

    image-20211225170550741

  • 集中版本控制器SVN

    所有版本数据保留在服务器,A提交后,B获取再提交,单线程修改。SVN中没有历史版本信息,每次想获得历史版本要从服务器获取。

    image-20211225170710981

  • 分布式版本控制:每台主机上都可以获得所有版本的代码库,每台主机可以clone全部服务器版本库信息,分布式修改(修改后可合并提交)用户可以把各自的修改部分推送给对方,Git会记录修改部分。

    image-20211225170745446

1.2、Git定义

Git是一个分布式版本控制器,所有版本信息仓库都会被同步到每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。

1.3、Git配置文件

1、Git\etc\gitconfig :Git 安装目录下的 gitconfig --system 系统级(默认配置

2、C:\Users\Administrator\ .gitconfig 只适用于当前登录用户的配置 --global 全局(手动配置)

查看配置命令:git config -l

#查看系统configgit config --system --list  
#查看当前用户(global)配置git config --global  --list

1.4、设置用户名和邮箱

每次git提交都会使用到该消息。

git config --global user.name zdh2018 #账号
git config -global user.email dhzhang2020@163.com # 邮箱

如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要–global选项。总之–global为全局配置,不加为某个项目的特定配置。

1.5、Git中区域的划分

image-20211225172403348

Directory是Git中一个仓库,也即一个项目。分为:

  • workspace(工作空间):进行版本控制存储的目录文件
  • git:存放git管理信息
  • Index、Stage:暂存区,在提交到Repo之前会把更新放在暂存区(待提交更新区),一个文件,包含了即将提交的更改信息。
  • Local Repo,存放本地版本库,包含提交的所有版本的数据

image-20211225173920794

git管理文件三种状态:

  • 已修改(对workspace操作还没放到Stage区域)
  • 已暂存(staged)
  • 已提交(committed)

1.6、Git忽略文件

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等

在主目录下建立".gitignore"文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt     #但lib.txt除外
/temp        #仅忽略项目根目录下的文件,不包括/temp/ted       
build/       #忽略目录下build子目录
doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

1.7、什么是origin、master、dev

一个代码库(repository)对应着一个项目,我们可以将项目托管到Gitee服务器,默认情况下,origin会指向本地代码库托管在Gitee上的版本

image-20211225165711043

这里的url就是origin指向的远程托管仓库代码库

这里的url可以通过指令git remote add origin git@github.com:imki911/myProject.git修改。

clone的是哪个代码库,origin默认就会指向哪个代码库。

查看代码库具体分支信息:git remote -v


master是主分支,一般用于最终版本的合并提交


dev一般是工作空间

2、基于Gitee的Git操作

2.1、本地公钥&私钥

在git bash中运行指令:ssh-keygen -t rsa,表明采用RSA加密协议。生成的一对公钥和私钥放在用户/.ssh目录下。

image-20211225175336407

然后我们将公钥复制到Gitee

image-20211225175619709

==添加完公钥之后可以实现Git无需登录直接提交。==否则,每次提交到远程仓库都需要重新输入账号密码。

2.2、在IDEA中集成Git

第一步:新建Git仓库:

image-20211225180327690

第二步:将Git仓库clone到本地:

image-20211225180534795

第三步:创建IDEA的Java项目,然后将git-learning克隆到本地的库ctrl+c全部复制到IDEA创建的Java目录下。

image-20211225180729123

第四步:在IDEA中打开Java项目,可以git add ., git commit -m “”, git push -u origin master了。

2.3、如何删除Gitee仓库

image-20211225164625783

3、进阶操作

3.1、Git分支

image-20211225181547519

每个分支代表一个单独的开发流程,类似于平行世界。

#列出所有远程分支
git branch -r

#合并指定分支到当前分支
git merge [branch]

假设管理员在操作master分支,要将dev分支上的修改拼接到master分支上,这就要用到merge。

  • 如果master和dev上都对同一个文件修改了怎么办?这时把master的修改部分merge pull到dev上,然后git status查看冲突部分,手动删除冲突部分

#合并指定分支到当前分支
git merge [branch]


假设管理员在操作master分支,要将dev分支上的修改拼接到master分支上,这就要用到merge。

* 如果master和dev上都对同一个文件修改了怎么办?==这时把master的修改部分merge pull到dev上,然后git status查看冲突部分,手动删除冲突部分==。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:24:30  更:2021-12-26 22:25:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:01:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码