Git版本管理工具轻松入门

git学习网址 GIT版本管理工具轻松入门-学习视频教程-腾讯课堂

1.版本控制软件

版本控制软件提供完备的版本管理功能,用于存储/追踪和文件的修改历史,是软件开发者的必备工具。

2.版本管理工具主要有两个作用

代码版本管理

多人协作开发

3.Git是一个开源的分布式版本控制系统,可以有效/高速地处理从很小到非常大的项目版本管理

控制软件

git -----> 最流行

svn

cvs ------> 开源奇葩

安装软件和小乌龟

git官网地址:Git - Downloading Package

小乌龟TortoiseGit安装 ----> *记得选择使用openssh * 安装完以后记得设置用户和邮箱

本地仓库和git基本概念

1.使用git init命令创建本地仓库

2.仓库区和工作区

.git文件夹为仓库区,类似于一个数据库存储着每一次提交的变化

.git所在目录称为工作区,我们在这里创建项目,和其他文件

3.适应git add<文件名>可以把文件添加到暂存区,暂存区存储将要被提交的文件变化

4.使用commit命令提交暂存区存储的变化并生成一个新的版本 实例:git commit -m '说明'

5.使用git status 命令查看状态,git log命令查看日志

Git服务器和远程仓库创建

1.可以搭建,自己搭建git服务器

2.免费服务器

github.com 全球最大开源项目托管平台

gitee.com 国内知名开源项目过关平台码云

3.注册gitee账号,并创建仓库

Git克隆

1.https方式

第一次克隆需要我们输入账户密码

2.ssh方式

公钥作用:1.加密通信 2.用户的权限认证

ssh是一种开源非对称加密通信协议

ssh只是一种协议,有开源实现也有商业实现,git默认使用开源实现的openssh

ssh通信需要一对密钥(公和私一对),私钥留在自己电脑上,公钥给其他的电脑

使用GITGUI生成密钥,并把公钥放在服务器上 步骤:Git GUI Here -> Help -> Show SSH Key -> Generate Key

安装完第一次克隆会请求是否允许使用ssh,需要我们输入一个“yes”或者点击ok

示例:

1.git clone 链接

开源项目不需要输入密码

私有项目需要输入密码

添加/提交/推送/拉去

添加:文件添加到暂存区

提交:暂存区存储的变化并生成一个新的版本

推送:是把本地的变化推到服务器

拉去:是拉去服务器那边的代码

1.添加add (如果使用小乌龟 勾选即为add)

2.提交commit

1.提交只提交到本地仓库 需要推送才会到把变化更新到服务器仓库

3.推送push

1.如果服务器版本比我们新,会推送不成功需要先拉取

4.拉取pull

1.拉取时应确保工作区整洁

分支创建与合并

1.master是仓库的主分,为了避免开发中程序之间互相影响,我们一般选择创建一个新的分支来开发新功能

2.创建分支

3.切换分支

4.合并分支 将其他分支合并到当前分支

冲突

1.冲出如何产生

1.两个分支修改了同一个文件合并的时候会发生冲突

2.如何解决冲出

1.协商修改冲突位置,并重新提交

3.尽量避免冲突

1.先pull再修改

2.确保自己正在修改的文件是最新版本的

3.各自开发各自的模块,如果要修改公共文件,最好先确认有没有人正在修改

4.不要擅自修改同事的代码

忽略 (忽略文件)

.gitignore

创建.gitignore文件:

Git Bash Here -> touch .gitignore

示例 :1.忽略文件 *.mp3

2.忽略文件夹 Temp/ Temp(文件夹的名字)

3.如果只想忽略当前目录下的文件夹 /Temp/

4.!*.mp3 表示反忽略 (不忽略) .mp3文件

空文件夹会被自动忽略掉

版本回退

(如果想把我们当前版本呢回到之前的版本/或者干脆把我们的主分支变成其他分支时使用)

在版本日志界面选择一个节点,使用重置(Reset)命令

Head 当前分支的引用指针(充重置就是移动Head这个指针)

Index 就是缓存区(被Add的,也可以说是将要提交的,文件的快照)

工作区 .git所在的目录以及子目录

Head头的意思 代表当前分支的引用

三种重置

重置类型

  • 软重置(S):不更改工作区和索引

  • 混合(M):保持工作区不变,重置索引文件

  • 硬重置(H):重置工作区和索引(丢弃所有本地变更)

子模块

子模块就是一个git仓库包其他git仓库

当我们需要把其他开源项目作为本项目的一个库,并可以以随时拉取更新的时候

或者我们的项目需要分模块独立开发的时候需要使用子模块

克隆有子模块的仓库,需要选择递归

issue和PullRequest

issue 讨论

PullRequest 拉取请求,为项目共贡献代码,请求项目管理这合并自己的代码

git非常灵活可以根据自己的需要构思出来不同的工作流(团队开发的方式和流程)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值