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 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git版本管理工具 -> 正文阅读

[开发工具]git版本管理工具

1:git

git是一种最常用的代码版本管理工具

1:安装

windows安装:https://git-scm.com/download/win
git通过自己的秘钥和配置服务器上的秘钥进行关联,以便于版本管理

1:设置信息

安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改

$ git config --global user.name "John Doe"
$ git config --global user.email 123456789@example.com
查看配置: git config --list
命令帮助: git help <verb>

2:初始化本地项目仓库

对于项目我们需要创建本地仓库,有两种方式。

  • 方式1:直接在远程仓库选择clone,将远程仓库的全部文件复制到本地成为本地仓库

  • 方式2:在想要创建的项目根目录下执行(右键 git bash hear)打开git命令窗口,执行git init后目录下多了一个.git的目录

2.1:本地仓库目录解释

.get  指代的就是本地仓库

这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。要是删除这个东西,则丢弃项目的所有记录。

3:git基本原理

git status查看项目状态

3:merge和rebase

在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase。
用于将不同的分支进行合并,比如对各自的分支都进行了修改,如何提交到一起
1:使用merge或者rebase将不同分支的代码合并到一起
2:提交自己的修改到更大的分支中

变基的风险
呃,奇妙的变基也并非完美无缺,要用它得遵守一条准则:
如果提交存在于你的仓库之外,而别人可能基于这些提交进行开发,那么不要执行变基。

2:命令解释

repository:仓库
track:开始或停止跟踪文件
stage:暂存
commit:提交更改。
push:向你的远程仓库推送
pull:从远程仓库拉取文件
clone :克隆的是该 Git 仓库服务器上的几乎所有数据

3:git-gui界面操作

在这里插入图片描述
1.菜单栏:

2.工作区变更、文件差异对比:点击工作区变更的文件,右侧窗口会显示文件差异对比。吐槽下,对比的时候显示的差异以上下的格式显示,差异对比的体验非常不友好。

3.索引区:使用命令git add或点击”stage changed”按钮后,工作区变更会添加到该区域。

4.基本操作按钮:stage changed:将工作区的所有变更提交到添加到索引区;(其他在菜单栏中都有对应项,介绍菜单栏时一并介绍)

5.Commit信息输入框:用于commit时输入变更信息,与svn提交时填写的信息一样,主要方便后续查找或了解该次提交的目的。

6.Commit方式:创建一次新的提交或者修改上一次提交。对应于菜单栏中commit项中,new commit和amend last commit相同。

3.1:repository:git库相关操作,基本意思就是字面意思。

1)资源管理器中浏览该Git库工作空间文件,省去查找路径不断点击鼠标的操作。

2)启动Git bash工具(命令行工具)。

3)查看当前分支文件状态,不包括未提交的信息。

4)查看某个分支的文件(弹出框中可选择需要查看的版本、分支或标签),跟上一条差不多,用的比较少,可能是没有这方面的额需求。

5)可视化当前分支历史、可视化所有分支历史:弹出分支操作历史,也就是gitk工具,放到gitk工具中介绍。

3.2:edit

用于操作commit时操作信息输入,只能操作文字输入部分,你没有看错。常用的快捷键大家都知道,何必要单独做成基本没啥用的。本来以为对变更的文件进行批量操作、本来以为可以对未版本跟踪的文件批量删除。

3.3:Branch分支

新建分支(需要选择其实版本,可以根据版本号、其他分支或标签来选择)、检出分支(觉得切换分支更合适)、重命名分支、删除分支、当前分支Reset操作(会丢弃所有未提交的变更,包括工作区和索引区,当然了,有弹出框提示危险操作)。

3.4:Commit

1)new Commit:创建一次新的提交,常规提交方式;

2)Amend last commit(修改上次提交):用于合并多次提交,针对为push操作前多次提交合并操作比较有用,在上次提交已经push的情况下可能会造成提交记录变乱;

3)rescan:用于扫描当前git库的变更,包括工作区和索引区的变更;

4)Stage To Commit:添加选中的变更文件到索引区;

5)Stage changed files to commit:添加所有改变文件到索引区;

6)Unstage from commit:将选择文件的变更从索引区撤回工作区;

7)revert changed:撤销工作区选择文件的变更,文件将还原为未修改之前的状态(但是未进行版本跟踪的文件无法直接删除,未跟踪的文件究竟怎么删除,莫非一定要一个个去找出来删除?很遗憾没在这个工具中找到);

8)show less context、show more context:调整文件差异对比区显示内容;

9)sign off:在commit信息输入框中添加提交人信息,减少手动输入;

10)Commit:提交当前变更到本地;

3.5:merge

1)local merge:分支本地合并操作,弹出操作框,选择要合并的版本(可以选择版本号、本地分支、远端分支或者标签,他们的最新状态都指向了一个确定的版本)。要注意A和并B与B合并A是不同的,在A分支上操作合并B会将B中的所有的文件与A做差异运算(这个与方向无关),差异部分会汇总到A中,此时B的状态不会变更。

2)abort merge:终止merge操作。在合并分支操作中产生冲突,当前git库状态设置为mergeing状态,要求解决冲突后进行其他操作。合并出现冲突时,在文件差异对比的区域会显示出冲突的部分,右键可以启动自定义的差异合并工具。

3.6:remote

远端操作相关,多个远端仓库时,呈现多个远端仓库

1)fetch:从远端仓库获取更新;

2)remove remote:删除与远端库链接;

3)add:添加远端git库,弹出添加操作框,输入远端库名(可自定义)和仓库链接(初始clone代码时的连接);

4)push:推送本地变更到服务器,会弹出push操作的操作框,与基本按钮区的push按钮操作相同。推送时git的默认设置只允许推送到与本地分支同名的远端分支,如果远端只有一个主分支,本地自建了多个分的的话无法直接完成推送。可以自行修改,不过风险比较大。

5)delete branch:删除远端分支,弹出选择框,选择远端库、远端分支名及操作选项。

tools:自定义操作命令

2:操作流程

1:远程仓库操作

创建自己的分支
master主分支:自己的分支合并到主分支应该由管理员合并

2:本地仓库

fetch:会更新远端的仓库到本地工作区,每次push操作前或者每天新来都应该先fetch代码再合并到自己的本地分支中
push:每次push前,先fetch代码再合并到自己的本地分支中

  开发工具 最新文章
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-11-10 12:36:19  更:2021-11-10 12:37:33 
 
开发: 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年9日历 -2024/9/24 23:21:36-

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